SpringMVC Command Object를 사용할 경우 Swagger의 path variable 표시 방법

SpringMVC Controller에서 path variable이나 query parameter를 일일이 매핑하지 않고 Command Object를 사용할 수도 있다. 이때 Swagger에서 path variable이나 query parameter를 제대로 표시 하지 못하는데 이럴 경우 아래와 같이 @ApiImplicitParams를 사용해서 매핑을 할수 있다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
@ApiOperation(value = "Test API.")
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ApiImplicitParams({
    @ApiImplicitParam(name = "memberId", value = "member identification number", paramType = "path", dataType = "long", required = true)
})
public ResponseEntity<String> testMethod(@Valid CommandObject command) {
    return "hello, world~"
}

@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class CommandObject {
    private long memberId
}

아래 링크는 StackOverflow에 내가 단 답변.
https://stackoverflow.com/questions/47442926/spring-4-3-allows-query-params-to-override-path-variables-from-requestmapping/58342859#58342859

댓글

이 블로그의 인기 게시물

[Protocol] WIEGAND 통신

Orange for Oracle에서 한글 깨짐 해결책

[UI] GNB·LNB·SNB·FNB 용어 설명