api를 개발하면 필요한 곳에서 이를 호출하게 쓰게 됩니다. 상품을 조회 api를 만들었다고 하면 상품 리스트를 나열하는 페이지에서 해당 데이터가 필요하기 때문에 api를 호출할 겁니다. 그런데 뭘 보고 호출하면 될까요?
api 문서 예시
api들이 가지고 있는 스펙을 명세, 관리할 수 있는 툴입니다.. springboot에서 swagger를 사용하면 컨트롤러에 명시된 어노테이션을 해석하여 API 문서를 자동으로 만들어줍니다.
@ApiResponses({
@ApiResponse(code = 200, message = "Success"),
@ApiResponse(code = 400, message = "Bad Request"),
@ApiResponse(code = 500, message = "Internal Server Error")
})
@RestController
@RequestMapping("/v1")
public class MainController {
private final Response response;
public MainController(Response response) {
this.response = response;
}
@ApiOperation(value = "회원 정보", notes = "회원에 대한 정보 출력")
@GetMapping("/member/{idx}")
public ResponseEntity<?> getMember(@PathVariable String idx) {
return response.success();
}
@ApiOperation(value = "회원 등록", notes = "신규 회원 등록", response = RegisterResponse.class)
@PostMapping("/member")
public ResponseEntity<?> registerMember(RegisterRequest registerRequest) {
return response.success();
}
}
spring boot 프로젝트에서 어노테이션을 통해서 swagger api문서를 자동으로 작성 가능하게 하는 의존성은 springfox-swagger
, springdoc-openapi-ui
이렇게 두 종류가 있습니다.