1. Swagger 설정 (config)
gradle설정
// build.gradle
// actuator 설정
implementation 'org.springframework.boot:spring-boot-starter-actuator'
property설정
actuator, swagger 설정
### application.properties
# actuator
management.endpoints.web.base-path=/api/actuator
# endpoint health만 노출
management.endpoints.web.exposure.include=health
# detail (안보여줘도 됨)
#management.endpoint.health.show-details=always
# swagger
springdoc.api-docs.path=/swagger/api-docs
springdoc.swagger-ui.path=/swagger/swagger.html
springdoc.swagger-ui.operations-sorter=alpha
springdoc.swagger-ui.tagsSorter=alpha
2. Swagger 작성
contoller 작성
// HelloContoller.java
public class HelloContoller {
@Operation(summary = "리스트 조회",
description = "Permit: 관리자")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "결과 전달", content = @Content(array = @ArraySchema(schema = @Schema(implementation = Response.class)))),
@ApiResponse(responseCode = "401", description = "인증 토큰이 없거나 인증 토큰 이상", content = @Content),
@ApiResponse(responseCode = "403", description = "토큰의 권한이 리소스에 대하여 적합한 권한을 소유하고 있지 않음", content = @Content),
@ApiResponse(responseCode = "404", description = "존재 하지 않을 경우", content = @Content),})
@GetMapping(value = "/api/{id}/list")
public List<Response> getListById(@Parameter(description = "Id", example = "1")
@PathVariable Long id) {
List<Response> responses = new ArrayList<Response>();
Response response = new Response();
responses.add(response);
return responses;
}
}
Response / Request 작성
// Response.java
@Getter
@Setter
public class Response {
private Long id;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
@Schema(description = "name에 대한 설명", example="Rabbit")
private String name;
}
'Back' 카테고리의 다른 글
[Swagger] OpenAPI3 설정 (yaml 다운로드 custom) (0) | 2023.03.15 |
---|---|
[Back-End] API 개발 시 작업 순서 (설정 이후) (0) | 2021.12.10 |
[Python&Django] PyCharm에서 가상환경 서버 실행하기 (0) | 2021.11.04 |