アノテーションとサポートパターン
ソースパーサーの推論を修正するアノテーションと安定して分析されるコードの形です。
選択した注釈
@SelectedRequestParam
query parameter의 key, defaultValue, required, nullable, type override
@SelectedRequestPath
path variable의 key, defaultValue, required, nullable, type override
@SelectedResponseBody
method/local/parameterにresponse typeとnullable override
注釈対象
SelectedRequestParam
LOCAL_VARIABLE, PARAMETER
SelectedRequestPath
LOCAL_VARIABLE, PARAMETER
SelectedResponseBody
LOCAL_VARIABLE, PARAMETER, METHOD
推奨ルートの形
java
return route()
.nest(path("/api/member"), builder -> builder
.nest(path("/search"), search -> search
.GET("/get-list", accept(MediaType.APPLICATION_JSON), handler::getList)
.GET("/get-detail/{id}", handler::getDetail))
.POST("/create", handler::create))
.build();推奨ハンドラーの形
java
public Mono<ServerResponse> getDetail(ServerRequest request) {
String id = request.pathVariable("id");
Mono<MemberResponse> response = service.getDetail(id);
return ServerResponse.ok()
.contentType(MediaType.APPLICATION_JSON)
.body(response, MemberResponse.class);
}