Annotations & Supported Patterns
source parser의 추론을 보정하는 annotation과 안정적으로 분석되는 코드 모양입니다.
Selected annotations
@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
Annotation target
SelectedRequestParam
LOCAL_VARIABLE, PARAMETER
SelectedRequestPath
LOCAL_VARIABLE, PARAMETER
SelectedResponseBody
LOCAL_VARIABLE, PARAMETER, METHOD
권장 route 모양
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();권장 handler 모양
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);
}