From fce021142453b4dbb4436507e276a44a1ba9ad49 Mon Sep 17 00:00:00 2001 From: yunjy Date: Tue, 23 Aug 2022 12:55:52 +0900 Subject: [PATCH] =?UTF-8?q?swagger=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++- build.gradle | 7 ++++ .../eactive/httpmockserver/ApiController.java | 2 +- .../httpmockserver/config/SwaggerConfig.java | 33 +++++++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/eactive/httpmockserver/config/SwaggerConfig.java diff --git a/README.md b/README.md index a1d9377..09ee49c 100644 --- a/README.md +++ b/README.md @@ -59,4 +59,7 @@ Hibernate: alter table api_service_key add constraint UKqntc9y3urphwjcwp4a0rcxx3 3. 다음 url 로 접속: http://localhost:38080 -![첫화면](doc/screen.png) \ No newline at end of file +![첫화면](doc/screen.png) + +### SWAGGER 추가 +* 접속 : http://localhost:48080/swagger-ui/ \ No newline at end of file diff --git a/build.gradle b/build.gradle index 16c8971..98a7411 100644 --- a/build.gradle +++ b/build.gradle @@ -2,8 +2,13 @@ plugins { id 'org.springframework.boot' version '2.4.4' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' + id 'war' } +// WAS, 톰캣에 배포 시 BOOT 실행 요소 제거 배포 +bootWar.enabled = false +war.enabled = true + ext['logback.version'] = '1.2.10' group = 'com.eactive' version = '1.0.1' @@ -24,6 +29,8 @@ dependencies { // implementation 'com.github.darrachequesne:spring-data-jpa-datatables:5.1.0' // implementation 'com.google.jimfs:jimfs:1.2' + implementation 'io.springfox:springfox-boot-starter:3.0.0' + implementation 'org.apache.commons:commons-lang3:3.10' implementation 'commons-io:commons-io:2.6' implementation 'com.jayway.jsonpath:json-path:2.4.0' diff --git a/src/main/java/com/eactive/httpmockserver/ApiController.java b/src/main/java/com/eactive/httpmockserver/ApiController.java index 7b9f33e..37c1073 100644 --- a/src/main/java/com/eactive/httpmockserver/ApiController.java +++ b/src/main/java/com/eactive/httpmockserver/ApiController.java @@ -43,7 +43,7 @@ public class ApiController { @SuppressWarnings("deprecation") //@RequestMapping(value = "/mock-api/**") - @RequestMapping(value = "/{_:^(?!plugins|dist|favicon.ico).*$}/**") + @RequestMapping(value = "/{_:^(?!swagger-ui|plugins|dist|favicon.ico).*$}/**") public ResponseEntity mockApi(HttpEntity httpEntity, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.info("=================================================="); diff --git a/src/main/java/com/eactive/httpmockserver/config/SwaggerConfig.java b/src/main/java/com/eactive/httpmockserver/config/SwaggerConfig.java new file mode 100644 index 0000000..4bad5ea --- /dev/null +++ b/src/main/java/com/eactive/httpmockserver/config/SwaggerConfig.java @@ -0,0 +1,33 @@ +package com.eactive.httpmockserver.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; + +@Configuration +public class SwaggerConfig { + + @Bean + public Docket api() { + return new Docket(DocumentationType.OAS_30) + .useDefaultResponseMessages(false) + .select() + .apis(RequestHandlerSelectors.any()) + .paths(PathSelectors.any()) + .build() + .apiInfo(apiInfo()); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("HttpMock Swagger") + .description("practice swagger config") + .version("1.0") + .build(); + } +} \ No newline at end of file