본문 바로가기
Study

[Spring Boot] Swagger 적용하기2 - Parameters & RequestBody

by soeundid 2023. 8. 5.

사용할 Annotation

[참고]

 

Swagger 2.X Annotations

Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API - swagger-api/swagger-core

github.com

@Parameter OpenAPI 작업의 단일 매개변수를 나타낸다
@Schema 입력 및 출력 데이터의 정의를 허용

 

Parameter 설정: @Parameter

  • name: 이름
  • description: 파라미터 설명
  • in: 파라미터 위치
    • cookie, header, path, query
ex) @Parameter(name = "comment_id", description = "수정할 댓글 id", required = true, example = "1", in = ParameterIn.PATH)

 

RequestBody 설정

Request에 @Schema를 설정하여 API 이용에 편의 제공

@Data
public class PostModifyRequestDto {
    @NotEmpty
    @Schema(description = "제목", required = true, example = "안녕하세요요세하녕안")
    private String title;

    @NotEmpty
    @Schema(description = "내용", required = true, example = "게시글 수정된 내용입니다")
    private String content;

    @Schema(description = "기술 게시판인 경우 해시태그", example = "[\"React\", \"Unity\"]")
    private List<String> hashTag;
}

 

Schema

  • description: 설명
  • required: 필수여부
    • default = false
  • example: 예시
  • @Schema(hidden = true) : 숨기려는 필드 설정

[참고]

 

OpenAPI 3 Library for spring-boot

Library for OpenAPI 3 with spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file.

springdoc.org

 

controller 적용

controller에 적용
실행결과

- 설정한 대로 결과가 잘 나오는것을 확인할 수 있다

'Study' 카테고리의 다른 글

[JAVA] 리플렉션(Reflection)이란?  (1) 2024.06.26
JDBC 이해  (0) 2024.06.18
[Spring Boot] Swagger 적용하기1 - controller & response  (0) 2023.08.03
[Spring boot + Swagger] Swagger 적용  (0) 2023.08.03