// swagger 활용 부분
@GetMapping("/plus/{x}") // 그러나 @ApiParam(value = "x값") 이렇게 붙여주는건 다소 불편할 수 있음
public int plus(
@ApiParam(value = "x값")
@PathVariable int x,
@ApiParam(value = "y값")
@RequestParam int y){
return x + y;
}
@ApiImplicitParams({
@ApiImplicitParam(name = "x", value = "x값", required = true, dataType = "int", paramType = "path"),
@ApiImplicitParam(name = "y", value = "y값", required = true, dataType = "int", paramType = "query")
})
@GetMapping("/plus/{x}")
public int apiUpgradePlus(@PathVariable int x, @RequestParam int y){
return x + y;
}
@ApiResponse(code = 502, message = "사용자의 나이가 10살 이하일때")
@ApiOperation(value = "사용자의 이름과 나이를 echo하는 메소드")
@GetMapping("/swagger-user")
public UserRes user(UserReq userReq){
return new UserRes(userReq.getName(), userReq.getAge());
}
@PostMapping("/swagger-post")
public UserRes postUser(@RequestBody UserReq req){
return new UserRes(req.getName(), req.getAge());
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserReq {
@ApiModelProperty(value = "사용자의 이름", example = "ryu", required = true)
private String name;
@ApiModelProperty(value = "사용자의 나이", example = "24", required = true)
private int age;
}
다음과 같은 페이지로 API 문서를 편리하게 만들 수 있다.
출처 : 한 번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.