Swagger - xx10222/selab-todo-list GitHub Wiki

Swagger

  • Swagger๋ž€ ๊ฐœ๋ฐœํ•œ REST API๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ฌธ์„œํ™”ํ•ด์ฃผ๊ณ , ์ด๋ฅผ ํ†ตํ•ด์„œ ํŽธ๋ฆฌํ•˜๊ฒŒ API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์ด๋‹ค
  • Swagger์— ๋Œ€ํ•œ ์ข…ํ•ฉ์ ์ธ ๊ตฌ์„ฑ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ณ , configuration ํŒŒ์ผ ์—†์ด๋„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด SpringFox Boot Starter์— ๋Œ€ํ•œ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค

SwaggerConfig.java

@Configuration
public class SwaggerConfig {

	@Bean
	public Docket api() {
		return new Docket(DocumentationType.OAS_30)
				.useDefaultResponseMessages(false)
				.select()
				.apis(RequestHandlerSelectors.basePackage("com.velog.eunjy.controller"))
				.paths(PathSelectors.any())
				.build()
				.apiInfo(apiInfo());
	}
	
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("Swagger Test")
				.description("SwaggerConfig")
				.version("3.0")
				.build();
	}
	
}
  • configuration ํŒŒ์ผ์ธ SwaggerConfig.java ํŒŒ์ผ์ด๋‹ค
  • Docket : Swagger ์„ค์ •์˜ ํ•ต์‹ฌ์ด ๋˜๋Š” Bean
  • useDefaultResponseMessages : Swagger์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ธฐ๋ณธ ์‘๋‹ต ์ฝ”๋“œ (200, 401, 403, 404)
  • false : ๊ธฐ๋ณธ ์‘๋‹ต ์ฝ”๋“œ๋ฅผ ๋…ธ์ถœํ•˜์ง€ ์•Š์Œ
  • apis : api ์ŠคํŽ™์ด ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ํŒจํ‚ค์ง€(Controller)๋ฅผ ์ง€์ •
  • paths : apis์— ์žˆ๋Š” API ์ค‘ ํŠน์ • path๋ฅผ ์„ ํƒํ•œ๋‹ค
  • apiInfo : Swagger UI๋กœ ๋…ธ์ถœํ•  ์ •๋ณด

Swagger ์–ด๋…ธํ…Œ์ด์…˜

image

โš ๏ธ **GitHub.com Fallback** โš ๏ธ