1 Commits

Author SHA1 Message Date
anian 0e4184057a 新增类别接口 2026-06-15 20:22:20 +08:00
5 changed files with 61 additions and 3 deletions
+3
View File
@@ -2,6 +2,9 @@
> 基于原作者v1.2.2代码修改
#### v1.2.2-2
1. 新增类别接口`/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/types`(基于原作者v1.2.5代码)
#### v1.2.2-1
1. 修改前台页面路由为/books
2. 控制台类别value不再限制
+37
View File
@@ -144,6 +144,28 @@
"tags" : [ "api.douban.moony.la/v1alpha1/DoubanMovie" ]
}
},
"/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/types" : {
"get" : {
"description" : "List all douban types.",
"operationId" : "ListTypes",
"responses" : {
"default" : {
"content" : {
"*/*" : {
"schema" : {
"type" : "array",
"items" : {
"$ref" : "#/components/schemas/DoubanTypeVo"
}
}
}
},
"description" : "default response"
}
},
"tags" : [ "api.douban.moony.la/v1alpha1/DoubanMovie" ]
}
},
"/apis/api.douban.moony.la/v1alpha1/doubanmovies/-/getDoubanDetail" : {
"get" : {
"description" : "getDoubanDetail.",
@@ -851,6 +873,21 @@
}
}
},
"DoubanTypeVo" : {
"type" : "object",
"properties" : {
"doubanCount" : {
"type" : "integer",
"format" : "int32"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
}
},
"JsonPatch" : {
"minItems" : 1,
"uniqueItems" : true,
+1 -1
View File
@@ -1 +1 @@
version=1.2.2-1
version=1.2.2-2
@@ -2,8 +2,10 @@ package la.moony.douban;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import la.moony.douban.extension.DoubanMovie;
import la.moony.douban.finders.DoubanFinder;
import la.moony.douban.service.DoubanService;
import la.moony.douban.vo.DoubanMovieVo;
import la.moony.douban.vo.DoubanTypeVo;
import org.apache.commons.lang3.StringUtils;
import org.springdoc.webflux.core.fn.SpringdocRouteBuilder;
import org.springframework.stereotype.Component;
@@ -25,9 +27,12 @@ public class DoubanEndpoint implements CustomEndpoint {
private final DoubanService doubanService;
private final DoubanFinder doubanFinder;
public DoubanEndpoint(DoubanService doubanService) {
public DoubanEndpoint(DoubanService doubanService, DoubanFinder doubanFinder) {
this.doubanService = doubanService;
this.doubanFinder = doubanFinder;
}
@Override
@@ -43,6 +48,13 @@ public class DoubanEndpoint implements CustomEndpoint {
);
DoubanMovieQuery.buildParameters(builder);
})
.GET("doubanmovies/-/types", this::ListTypes,
builder -> builder.operationId("ListTypes")
.description("List all douban types.")
.tag(doubanMovieTag)
.response(responseBuilder()
.implementationArray(DoubanTypeVo.class)
))
.GET("doubanmovies/-/genres", this::ListGenres,
builder -> builder.operationId("ListGenres")
.description("List all douban genres.")
@@ -87,6 +99,12 @@ public class DoubanEndpoint implements CustomEndpoint {
.flatMap(result -> ServerResponse.ok().bodyValue(result));
}
private Mono<ServerResponse> ListTypes(ServerRequest request) {
return doubanFinder.listAllType()
.collectList()
.flatMap(result -> ServerResponse.ok().bodyValue(result));
}
private Mono<ServerResponse> getDoubanDetail(ServerRequest request) {
String url = request.queryParam("url").orElse(null);
return doubanService.getDoubanDetail(url)
@@ -10,7 +10,7 @@ metadata:
rbac.authorization.halo.run/display-name: "查看朋友圈提交模板"
rules:
- apiGroups: [ "api.douban.moony.la" ]
resources: [ "doubanmovies","doubanmovies/genres","doubanmovies/getDoubanDetail"]
resources: [ "doubanmovies","doubanmovies/types","doubanmovies/genres","doubanmovies/getDoubanDetail"]
verbs: [ "get", "list" ]
---