task-162(客户端公开版本接口兼容): 冻结 /api/version/latest 响应契约
PublicVersionLookup 增 latest/selectLatest 与路径常量 + Task162Test。 TDD: RED→GREEN。
This commit is contained in:
+10
@@ -12,6 +12,11 @@ import java.util.Map;
|
||||
*/
|
||||
public final class PublicVersionLookup {
|
||||
|
||||
/** 公开客户端版本路径(与旧 Flask/客户端地址完全一致)。 */
|
||||
public static final String PUBLIC_VERSION_PATH = "/api/version";
|
||||
public static final String PUBLIC_VERSION_LATEST_PATH = "/api/version/latest";
|
||||
public static final String ADMIN_UPLOAD_PATH = "/api/admin/version";
|
||||
|
||||
/** web_config 版本记录投影(id 用于同时间稳定排序)。 */
|
||||
public record WebVersion(Long id, String version, String fileUrl, LocalDateTime createdAt) {
|
||||
}
|
||||
@@ -19,6 +24,11 @@ public final class PublicVersionLookup {
|
||||
private PublicVersionLookup() {
|
||||
}
|
||||
|
||||
/** 是否属于公开版本接口路径(与后台上传路径解耦)。 */
|
||||
public static boolean isPublicVersionPath(String path) {
|
||||
return PUBLIC_VERSION_PATH.equals(path) || PUBLIC_VERSION_LATEST_PATH.equals(path);
|
||||
}
|
||||
|
||||
/** 取最新版本记录:created_at DESC,同一时间按 id 倒序稳定;空/无有效回 null。 */
|
||||
public static WebVersion selectLatest(List<WebVersion> rows) {
|
||||
if (rows == null || rows.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user