Search
📄

Swagger를 설정해보자

Status
NOT_COMPLETED
Date
2023/11/18
Tags
docs

개요

이미 많은 분들께서 Swagger에 관한 내용을 많이 정리해주었습니다. 저 또한 프로젝트를 할 때 해당 블로그들의 도움을 많이 받았으니 이를 참고하시면 좋을 것 같습니다. 이번 포스팅에서는 Swagger를 설정하면서 생겼던 코드에 대한 궁금증에 대해 이야기 해볼 예정입니다.

Reference

 GroupedOpenApi를 반환하는 메소드의 역할은 무엇인가요?

@RequiredArgsConstructor @Configuration public class SwaggerConfig { @Bean public GroupedOpenApi bildaApi() { return GroupedOpenApi.builder() .group("Bilda API v1") .pathsToMatch("/api/v1/**") .build(); } }
Java
복사
위 코드에서 GroupedOpenApi.builder()는 OpenAPI 문서 그룹을 구성하는 빌더를 생성합니다. 구체적으로, 이 설정은 다음과 같은 역할을 합니다:
.group("Bilda API v1")는 생성될 OpenAPI 문서 그룹의 이름을 지정합니다. 이 이름은 API 문서화 페이지에서 이 그룹을 식별하는 데 사용됩니다.
.pathsToMatch("/api/v1/**")는 어떤 API 경로가 이 문서 그룹에 포함될지를 지정합니다. 이 예제에서는 /api/v1으로 시작하는 모든 엔드포인트가 이 그룹의 문서화 대상이 됩니다.
이렇게 설정된 GroupedOpenApi 빈은 SpringDoc이 애플리케이션의 해당 API 엔드포인트에 대한 문서를 생성합니다.

 매번 이렇게 많은 코드를 설명하기 위해 작성해야되나요?

@Operation(summary = "회원 가입 요청", description = "HTTP Body를 토대로 회원 가입을 진행합니다.", tags = { "UserController"}) @ApiResponses({ @ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = SignupResponse.class))), @ApiResponse(responseCode = "400", description = "BAD REQUEST"), @ApiResponse(responseCode = "404", description = "NOT FOUND"), @ApiResponse(responseCode = "500", description = "INTERNAL SERVER ERROR") }) @PostMapping("/signup") public ResponseEntity<User> signup(@RequestBody @Valid SignupRequest signupRequest) { return ResponseEntity.ok(userService.signup(signupRequest)); // 이거 어떻게 변형시킬까? }
Java
복사