티스토리 뷰

Back-end/Spring

Swagger Spring Boot (3.4.2)

이안_ian 2025. 2. 27. 20:39




반응형

간단하고 담백하게 설정 방법을 작성하려고 합니다.

의존성추가

// Swagger
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.5")

application.yml

springdoc:
  swagger-ui:
    path: /docs		// 경로 커스텀
    disable-swagger-default-url: true
  api-docs:
    path: /api-docs

Swagger Config

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("My API Documentation")
                        .version("1.0.0")
                        .description("스프링 부트 3.0 이상에서 설정한 Swagger 문서입니다."));
    }
}

API 설정

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import java.util.List;

@Tag(name = "User API", description = "회원 API")
@RestController
@RequestMapping("/api/users")
@RequiredArgsConstructor
public class UserApi {

    private final UserService userService;

    /**
     * 회원 전체 조회
     */
    @Operation(
        summary = "회원 전체 조회",
        description = "모든 회원 정보를 조회합니다."
    )
    @GetMapping
    public ResponseEntity<ApiResponse<List<UserResponseDto>>> getAll() {
        return ResponseEntity.ok(userService.findAll());
    }
}

스웨거 접속

http://localhost:8080/docs

위와 같이 접속하면 대략 아래처럼 생성

반응형
댓글
반응형
최근에 달린 댓글
글 보관함
Total
Today
Yesterday
최근에 올라온 글
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31