Spring Boot : SpringDoc 문서에 설명 달기

김아무개·2023년 10월 19일
0

Spring Boot 🍃

목록 보기
78/95

참고


Spring Boot 2.7.17에서 실행 확인


SpringDoc 의존성 추가

implementation "org.springdoc:springdoc-openapi-ui:1.7.0"

SwaggerConfig 설정파일 작성

@Configuration
public class SwaggerConfig {

    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
        		.components(new Components())
                .info(new Info()
                        .title("REST API 테스트 제목")
                        .description("이것은 REST API 테스트 앱입니다.")
                        .version("1.0")
                        .contact(new Contact()
                                .name("zhyun")
                                .url("https://www.zhyun.kim")
                                .email("gimwlgus@kakao.com"))
                        .license(new License()
                                .name("Apache 2.0")
                                .url("https://www.apache.org/licenses/LICENSE-2.0")));
    }

}

User 도메인 객체에 설명 추가

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "사용자 상세 정보를 위한 도메인 객체")
public class User {

    private Integer id;

    @Schema(description = "사용자의 이름을 입력해주세요.")
    @Size(min = 2, message = "2글자 이상 입력해주세요.")
    private String name;

    @Schema(description = "사용자의 등록일을 입력해주세요.")
    @Past
    private LocalDateTime joinDate;

    @Schema(description = "사용자의 비밀번호를 입력해주세요.")
    private String password;

    @Schema(description = "사용자의 주민번호를 입력해주세요.")
    private String ssn;
}

springFox → springDoc

@Api
→ @Tag

@ApiIgnore
→ @Parameter(hidden = true) or @Operation(hidden = true) or @Hidden

@ApiImplicitParam
→ @Parameter

@ApiImplicitParams
→ @Parameters

@ApiModel
@Schema

@ApiModelProperty
@Schema

@ApiModelProperty(hidden = true)
→ @Schema(accessMode = READ_ONLY)

@ApiOperation(value = "foo", notes = "bar")
→ @Operation(summary = "foo", description = "bar")

@ApiParam
→ @Parameter

@ApiResponse(code = 404, message = "foo")
→ @ApiResponse(responseCode = "404", description = "foo")


문서 적용 확인 !

profile
Hello velog! 

0개의 댓글