📖 api 문서

api를 개발하면 필요한 곳에서 이를 호출하게 쓰게 됩니다. 상품을 조회 api를 만들었다고 하면 상품 리스트를 나열하는 페이지에서 해당 데이터가 필요하기 때문에 api를 호출할 겁니다. 그런데 뭘 보고 호출하면 될까요?

Kakao Developers

api 문서 예시

[Project] 백엔드와 협업하기

[TW] API 문서 톺아보기

📖 swagger

✔️ swagger 란?

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();
    }
}

Swagger UI

✔️ 스프링부트 프로젝트에서 swagger 적용하기

spring boot 프로젝트에서 어노테이션을 통해서 swagger api문서를 자동으로 작성 가능하게 하는 의존성은 springfox-swagger, springdoc-openapi-ui 이렇게 두 종류가 있습니다.

[SpringBoot] Swagger(springfox) 사용하기

Spring Docs + Swagger 설정하기 (Spring Rest Docs 비교)