SpringDoc : 자동 문서화를 위한 라이브러리
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.13")
https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui
그리고 파일 하나 만들어서
@Configuration
@OpenAPIDefinition
이거 두개 달아준다. 그럼 알아서 프로젝트 보고 문서 만들어줌
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import org.springframework.context.annotation.Configuration;
@Configuration
@OpenAPIDefinition //문서화
public class SpringDoc {
}
문서 보는 법 : http://localhost:8080/swagger-ui/index.html
(서버 키고 봐야겠쥬?)
하지만 이렇게만 하면 너무 기본적인 것만 나온다. 좀 꾸며야 볼만 함
@OpenAPIDefinition(info = @Info(title = "API 서버", version = "beta", description = "API 설명 문서 입니다.") )
어노테이션에 선언적으로 꾸미기 가능!
그리고 각 api별로 상세 내용 뭐라고 뜨게 할지도 꾸미기 가능
개별 지정 (각 메서드 위)
@DeleteMapping(value="/{id}", produces = MediaType.TEXT_HTML_VALUE)
전체 지정 (application.yml)
springdoc:
default-produces-media-type: application/json
클래스 단위 (각 클래스의 어노테이션)
@Tag(name="Api 이름", descirption="설명")
메서드 단위 (각 메서드의 어노테이션)
@Operation(summary="설명")