작성
·
509
·
수정됨
1
Spring 3 이상부터는 더 이상 Springfox가 아닌 SpringDoc으로 해야 Swagger 설정을 해줄 수 있습니다.
자세한 내용은 제가 참조한 아래 레퍼런스 확인해보시면 좋을 거 같아요
https://colabear754.tistory.com/99
https://velog.io/@kjgi73k/Springboot3%EC%97%90-Swagger3%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0
아래는 참고하여 작성한 코드입니다.
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI openAPI(){
return new OpenAPI()
.components(new Components())
.info(apiInfo());
}
private Info apiInfo() {
return new Info()
.title("Springdoc 테스트")
.description("Springdoc을 사용한 Swagger UI 테스트")
.version("1.0.0");
}
}
@RestController
@RequestMapping("/swagger")
public class SwaggerController {
@Operation(summary = "문자열 반복", description = "파라미터로 받은 문자열을 2번 반복합니다.")
@Parameter(name = "str", description = "2번 반복할 문자열")
@GetMapping("/returnStr")
public String returnStr(@RequestParam String str) {
return str + "\n" + str;
}
@GetMapping("/example")
public String example() {
return "예시 API";
}
@Hidden
@GetMapping("/ignore")
public String ignore() {
return "무시되는 API";
}
}
NOTE:
springdoc.swagger-ui.path
에서 swagger url 기본 경로를 설정합니다. 저는 아래와 같이 /swagger로 접속하게끔 했습니다.
# SPRINGDOC
springdoc.packages-to-scan=com.example.dateanu.rest_api
springdoc.default-consumes-media-type= application/json;charset=UTF-8
springdoc.default-produces-media-type= application/json;charset=UTF-8
springdoc.swagger-ui.path=/swagger
springdoc.swagger-ui.disable-swagger-default-url=true
springdoc.swagger-ui.display-request-duration=true
springdoc.swagger-ui.operations-sorter=alpha
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
Spring 3 이상부터는 Springfox 대신 SpringDoc을 사용하여 Swagger 설정을 해주셔야 합니다. 참조한 레퍼런스와 작성한 코드를 통해 Swagger 설정을 할 수 있습니다.
SwaggerConfig
클래스에서는 @Configuration
어노테이션을 추가하고, @Bean
어노테이션을 사용하여 openAPI
빈을 생성합니다. 그리고 OpenAPI
객체를 반환하며, Components
객체와 apiInfo()
메서드를 사용하여 Swagger 설정을 추가합니다.
apiInfo()
메서드에서는 Info
객체를 반환하며, title
, description
, version
등의 정보를 설정할 수 있습니다.
SwaggerController
클래스에서는 @RestController
어노테이션과 @RequestMapping
어노테이션을 사용하여 요청 경로를 설정합니다. @Operation
어노테이션과 @Parameter
어노테이션을 사용하여 API에 대한 설명과 파라미터 정보를 추가할 수 있습니다.
위의 코드를 통해 문자열을 반복하는 API와 예시 API를 구현할 수 있습니다.
궁금한 점이 있으시면 더 자세히 알려주세요.