관리 메뉴

CASSIE'S BLOG

100-2강 스프링 부트의 문서화와 로깅 남기기 본문

PROGRAMMING/슈퍼코딩 강의 정리

100-2강 스프링 부트의 문서화와 로깅 남기기

ITSCASSIE1107 2024. 3. 7. 15:21

Api문서 자동화 필요

대표적인 api 문서화 도구

Spring Rest docs
Spring openAPI
Spring Swagger

Swagger의존성 추가
Swagger Docket빈등록
Application.yaml 설정 추가 (2.7부터는 에러나서 matching-strategy 추가해야함)

Swagger Docket빈등록 할 때 경로 그냥 패키지에서 오른쪽 클릭 copy reference 해주면 됨

그리고 웹주소창

localhost:9090/swagger-ui.html

Swagger 다듬기 부분 통과



스프링한테 우리 Swagger 쓸거야 알려주는 부분이
Swagger Docket 빈등록 부분임.

 

 

 

9분 30초부터~

 

ElectronicStoreController 에 ApiOperation 어노테이션 추가

 

 

parameter도 넣어서 실행할 수 있다. 

 

다듬을수도 있다고함.

 

 

 

ApiOperation, ApiModelProperty로 간단하게 좀 디테일한 정보를 넣을 수 있다. 이 정도 너무 디테일하게 하는 것보다 개발에 초점을 둘 것 

 

 

간단하게 위에 @ApiOperation 적고 설명 적으면 끝

 

 

PathVariable 이런 거에다가
이 앞에 ApiParam을 적어서 설정하면 된다. 
example이 중요하다. 
@ApiParam(name = "id", value="Item Id", example = "1") 이런 식으로 하면 됨.

 

   @ApiOperation("Item id로 검색")
    @GetMapping("/items/{id}")
    public Item findItemByPathId(
            @ApiParam(name="id", value="item Id", example = "1")
            @PathVariable String id ){
        return electronicStoreItemService.findItemByPathId(id);
    }

 

 

    @ApiOperation("Item ids로 검색")
    @GetMapping("/items-queries")
    public List<Item> findItemByQueryId(
            @ApiParam(name="ids", value="item Ids", example = "[1,2,3]")
            @RequestParam("id") List<String> ids ){
        return electronicStoreItemService.findItemsByIds(ids);
    }

 

 

param description이 바뀜

 

dto도 깔끔하게 정리할 수 있다함. @ApiModelProperty를 통해서

 

 

반응형