안녕하세요 프로젝트 swagger에 대한 질문입니다 ㅠㅠ아시는분있으면 꼭 답해주시기 바랍니다
코드 게시물 관련 프로젝트입니다.
나의 페이지에서 코드 게시물을 검색할수 있는 필터링 조건과
다른 유저 페이지에서 코드 게시물을 검색할수 있는 필터링 조건이 다른 상황입니다.
api 설계시 위 두 api를 모두 "/codebox/{nickname}"으로 동일한 상황이고
@RequestBody로 받는 JSON 데이터들은 다르기 때문에 Controller에서
@GetMapping("/codebox/{nickname}")으로 동일하나 나의 페이지 접속시 토큰을 추가로 hearder에 받게 하여 아래와 같이 분리하여 구현된 상황입니다.
여기서 Swagger를 통해 api명세서를 자동으로 생성하게 되면 같은 리소스(같은 uri)에 대해서는 api가 한개 생성됩니다. 저는 아래 두가지 경우를 모두 api 명세서로 보여지게 생성하고 싶은데 여러가지 방법을 찾아보는데 마땅히 나오지 않아 질문드립니다.ㅠㅠ
아시는 분 있으시면 꼭 좀 댓글달아주시기 바랍니다.ㅠㅠ
@GetMapping(value = "/{nickname}", headers = JwtProperties.ACCESS_HEADER_STRING)
@UserAuthen
@UserAuthor
@ApiOperation(...)
@ApiResponses({
...
})
@ApiImplicitParams({
@ApiImplicitParam(name = "nickname", value = "회원 닉네임", required = true),
@ApiImplicitParam(name = JwtProperties.ACCESS_HEADER_STRING, value = "엑세스 토큰", required = true)
})
public DataResponse<PostListResponse> userPage2(@PathVariable("nickname")String nickname,
@RequestHeader(JwtProperties.ACCESS_HEADER_STRING) String accessToken,
@RequestBody SearchFormAboutOtherUserPost form) {
.....
}
@GetMapping(value = "/{nickname}", headers = {JwtProperties.ACCESS_HEADER_STRING, JwtProperties.MYSESSION_HEADER_STRING})
@UserAuthen
@UserAuthor
@ApiOperation(...)
@ApiResponses({
...
})
@ApiImplicitParams({
@ApiImplicitParam(name = "nickname", value = "회원 닉네임", required = true),
@ApiImplicitParam(name = JwtProperties.ACCESS_HEADER_STRING, value = "엑세스 토큰", required = true),
@ApiImplicitParam(name = JwtProperties.MYSESSION_HEADER_STRING, value = "마이페이지 엑세스 토큰", required = true)
})
public DataResponse<PostListResponse> userPage3(@PathVariable("nickname")String nickname,
@RequestHeader(JwtProperties.ACCESS_HEADER_STRING) String accessToken,
@RequestHeader(JwtProperties.MYSESSION_HEADER_STRING) String my_sessionToken,
@RequestBody SearchFormAboutSelfUserPost form) {
....
}