| 종류 | 환경 |
|---|---|
| IDE | Intellij IDEA 2023.1.2 (Ultimate Edition) |
| 언어 | SpringBoot 3.1.0 |
| 타입 | Gradle - Groovy |
| JDK | corretto-17 |
| 패키지 생성 | Jar |
| 버전관리 | Github |
| 종류 | 이름 |
|---|---|
| Web | Spring web |
| Developer Tools | Spring Processor / Lombok |
| 기타 | OpenAPI:2.0.2 |
dependencies {
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' // swagger
}
http://localhost:8080/swagger-ui/index.html

package com.springboot.hello.config;
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@OpenAPIDefinition(
info = @Info(title = "제목",
description = "설명",
version = "1.0.0"
)
)
@Configuration
public class SwaggerConfig {
@Bean
public GroupedOpenApi chatOpenApi() {
String[] paths = {"/api/v1/**"}; // 명세서에 보여줄 경로 설정
return GroupedOpenApi.builder()
.group("예제 API v1")
.pathsToMatch(paths)
.build();
}
}
http://localhost:8080/swagger-ui/index.html

package com.springboot.hello.controller;
import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/v1/get-api")
public class GetController {
//Swagger 세부 내용 작성
@GetMapping(value = "/request1")
public String getRequestParam1(
@Parameter(description = "이름", required = true, example = "sky bunny") String name,
@Parameter(description = "이메일", required = true, example = "skybunny@gmail.com") String email,
@Parameter(description = "조직", required = true, example = "home") String organization
) {
return name + " " + email + " " + organization;
}
