From 0c1d29e9f061f028d780404a247bf74612446864 Mon Sep 17 00:00:00 2001 From: dldmldlsy <76683396+dldmldlsy@users.noreply.github.com> Date: Mon, 4 Jul 2022 23:28:14 +0900 Subject: [PATCH 01/13] Initial commit --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b802627 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# ARdiray_Spring \ No newline at end of file From 28f674d705220b6bfbe67e4223a592077f5cee61 Mon Sep 17 00:00:00 2001 From: dldmldlsy <76683396+dldmldlsy@users.noreply.github.com> Date: Mon, 4 Jul 2022 23:43:38 +0900 Subject: [PATCH 02/13] Update README.md --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b802627..ec71a50 100644 --- a/README.md +++ b/README.md @@ -1 +1,10 @@ -# ARdiray_Spring \ No newline at end of file +# ARdiray_Spring + +Project Spec + +1. JDK version : 17.0.3 +2. Build Tool : gradle (7.4.1 version) +3. Spring boot version : 2.7.0 +4. Server : Spring boot embedded tomcat (9.0.60 version) port (8088) +5. Project structure : 계층별 구조 (controller, service, repository, domain, configuration ...) +6. Template engine : Thymeleaf From 5baf2a4b4ca04fc2afdf2f71763c1a797692128d Mon Sep 17 00:00:00 2001 From: dldmldlsy <76683396+dldmldlsy@users.noreply.github.com> Date: Thu, 21 Jul 2022 21:19:41 +0900 Subject: [PATCH 03/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec71a50..76c2d92 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,6 @@ Project Spec 1. JDK version : 17.0.3 2. Build Tool : gradle (7.4.1 version) 3. Spring boot version : 2.7.0 -4. Server : Spring boot embedded tomcat (9.0.60 version) port (8088) +4. Server : Spring boot embedded tomcat (9.0.60 version) port (8888) 5. Project structure : 계층별 구조 (controller, service, repository, domain, configuration ...) 6. Template engine : Thymeleaf From 8236932a7693b5e504062267cc47fcccee9eda4f Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Fri, 22 Jul 2022 19:41:50 +0900 Subject: [PATCH 04/13] =?UTF-8?q?mariadb=20=EB=B2=84=EC=A0=84=20=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ardiary/build.gradle b/ardiary/build.gradle index bc2fd58..2d61a8f 100644 --- a/ardiary/build.gradle +++ b/ardiary/build.gradle @@ -33,7 +33,7 @@ dependencies { // valid implementation 'org.springframework.boot:spring-boot-starter-validation' //mariadb - implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.4' + implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.5' //mybatis implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.7.0' } From 47eae2b4419bac93b2816afe24a6693648f6296b Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Fri, 22 Jul 2022 19:52:23 +0900 Subject: [PATCH 05/13] . --- README.md | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 76c2d92..0000000 --- a/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# ARdiray_Spring - -Project Spec - -1. JDK version : 17.0.3 -2. Build Tool : gradle (7.4.1 version) -3. Spring boot version : 2.7.0 -4. Server : Spring boot embedded tomcat (9.0.60 version) port (8888) -5. Project structure : 계층별 구조 (controller, service, repository, domain, configuration ...) -6. Template engine : Thymeleaf From 1705c8fa9201b3a590e819a9339bd3479558b222 Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Tue, 2 Aug 2022 03:05:16 +0900 Subject: [PATCH 06/13] =?UTF-8?q?db=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/src/main/resources/application.yml | 6 +++--- .../com/army/ardiary/repository/FollowRepositoryTest.java | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ardiary/src/main/resources/application.yml b/ardiary/src/main/resources/application.yml index 5cc3975..5a9a850 100644 --- a/ardiary/src/main/resources/application.yml +++ b/ardiary/src/main/resources/application.yml @@ -7,14 +7,14 @@ spring: secretKey: {Key} #mariadb datasource: - url: jdbc:mariadb://localhost:3306/army #접속DB명.(rds쓸때는 localhost부분 엔드포인트로 바꿔주기) + url: jdbc:mariadb://armydb.cy6dgaeyzjne.ap-northeast-2.rds.amazonaws.com:3306/ardiary #접속DB명.(rds쓸때는 localhost부분 엔드포인트로 바꿔주기) driver-class-name: org.mariadb.jdbc.Driver username: admin - password: 220324 + password: 20220324 #mybatis mybatis: type-aliases-package: com.army.ardiary.domain.entity #entity 경로(db 조회 결과인 resultType 패키지 사전 지정) - mapper-locations: mapper/**/*.xml #매퍼.xml 경로 + mapper-locations: classpath:mapper/*.xml #매퍼.xml 경로 server: port: 8088 \ No newline at end of file diff --git a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java index 466f985..a227124 100644 --- a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java +++ b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java @@ -3,6 +3,7 @@ import com.army.ardiary.domain.entity.FollowEntity; import com.army.ardiary.domain.entity.UserEntity; import org.junit.jupiter.api.Test; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -11,6 +12,7 @@ import static org.junit.jupiter.api.Assertions.*; @SpringBootTest +@MapperScan(basePackages = "com.army.ardiary") class FollowRepositoryTest { @Autowired From 787b44a50c35dfae5f7c0aad95edadc1c264043a Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Tue, 2 Aug 2022 23:37:25 +0900 Subject: [PATCH 07/13] =?UTF-8?q?DB=EC=97=B0=EA=B2=B0,=20swagger=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/build.gradle | 4 +++ .../army/ardiary/config/SwaggerConfig.java | 33 +++++++++++++++++++ .../ardiary/controller/SignController.java | 5 +++ .../repository/FollowRepositoryTest.java | 1 - 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java diff --git a/ardiary/build.gradle b/ardiary/build.gradle index 553b5b7..4c0cba4 100644 --- a/ardiary/build.gradle +++ b/ardiary/build.gradle @@ -23,6 +23,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' //spring-web implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'io.springfox:springfox-swagger2:3.0.0' //lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' @@ -36,6 +37,9 @@ dependencies { implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.5' //mybatis implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' + //swagger + implementation 'io.springfox:springfox-boot-starter:3.0.0' + implementation 'io.springfox:springfox-swagger-ui:3.0.0' } tasks.named('test') { diff --git a/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java b/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java new file mode 100644 index 0000000..87fdcf8 --- /dev/null +++ b/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java @@ -0,0 +1,33 @@ +package com.army.ardiary.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)//swagger 제공 기본 응답 코드. false로 설정하면 안보임 + .select() + .apis(RequestHandlerSelectors.basePackage("com.army.ardiary.controller")) //api스펙이 작성되어있는 패키지(컨트롤러) 지정 RequestHandlerSelectors.any() 로 선언해도 됨 + .paths(PathSelectors.any()) //path에 입력한 조건에 맞는 api를 문서화 + .build() + .apiInfo(apiInfo()); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("Army Swagger") + .description("Army swagger config") + .version("3.0.0") + .build(); + } +} diff --git a/ardiary/src/main/java/com/army/ardiary/controller/SignController.java b/ardiary/src/main/java/com/army/ardiary/controller/SignController.java index 3cd3059..01c9fee 100644 --- a/ardiary/src/main/java/com/army/ardiary/controller/SignController.java +++ b/ardiary/src/main/java/com/army/ardiary/controller/SignController.java @@ -4,6 +4,7 @@ import com.army.ardiary.dto.EmailRequestDto; import com.army.ardiary.dto.LoginResponseDto; import com.army.ardiary.service.SignService; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -13,6 +14,10 @@ import javax.validation.Valid; + + + +@ApiOperation(value="회원가입 및 로그인 API ", notes="SignUp(회원가입) SignIn(로그인)API를 다룬다.")//swagger 페이지 설명 주석 @RestController public class SignController { // SignUp(회원가입) SignIn(로그인)API를 다루는 컨트롤러 diff --git a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java index a227124..8b37fa7 100644 --- a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java +++ b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java @@ -12,7 +12,6 @@ import static org.junit.jupiter.api.Assertions.*; @SpringBootTest -@MapperScan(basePackages = "com.army.ardiary") class FollowRepositoryTest { @Autowired From ddc0594c13d94d859adebd73a09ca625f9be4d74 Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Wed, 3 Aug 2022 00:21:20 +0900 Subject: [PATCH 08/13] =?UTF-8?q?DB=EC=97=B0=EA=B2=B0,=20swagger=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EC=98=A4=EB=A5=98=20=EA=B0=9C=EC=84=A0(?= =?UTF-8?q?=3F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/build.gradle | 3 --- .../java/com/army/ardiary/repository/FollowRepositoryTest.java | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/ardiary/build.gradle b/ardiary/build.gradle index 4c0cba4..d0ea837 100644 --- a/ardiary/build.gradle +++ b/ardiary/build.gradle @@ -37,9 +37,6 @@ dependencies { implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.5' //mybatis implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' - //swagger - implementation 'io.springfox:springfox-boot-starter:3.0.0' - implementation 'io.springfox:springfox-swagger-ui:3.0.0' } tasks.named('test') { diff --git a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java index 8b37fa7..a227124 100644 --- a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java +++ b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java @@ -12,6 +12,7 @@ import static org.junit.jupiter.api.Assertions.*; @SpringBootTest +@MapperScan(basePackages = "com.army.ardiary") class FollowRepositoryTest { @Autowired From ebc42a8bd68870fa9189bfe0ff289ae7bcacd2b0 Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Wed, 3 Aug 2022 01:49:45 +0900 Subject: [PATCH 09/13] =?UTF-8?q?repository=EC=97=90=20mapper=20annotation?= =?UTF-8?q?=20=EB=8B=AC=EC=95=84=EB=86=94=EB=B3=B8=EA=B1=B0...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/build.gradle | 4 +++- .../java/com/army/ardiary/repository/FollowRepository.java | 2 ++ .../main/java/com/army/ardiary/repository/UserRepository.java | 2 ++ .../com/army/ardiary/repository/FollowRepositoryTest.java | 4 ++-- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ardiary/build.gradle b/ardiary/build.gradle index d0ea837..d7f8521 100644 --- a/ardiary/build.gradle +++ b/ardiary/build.gradle @@ -23,7 +23,9 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' //spring-web implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'io.springfox:springfox-swagger2:3.0.0' + //swagger + implementation 'io.springfox:springfox-swagger2:3.0.0' //이건 원래 넣어져 있던거고 + implementation 'io.springfox:springfox-swagger-ui:3.0.0' //이건 새로 추가함 //lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' diff --git a/ardiary/src/main/java/com/army/ardiary/repository/FollowRepository.java b/ardiary/src/main/java/com/army/ardiary/repository/FollowRepository.java index cd47181..e219352 100644 --- a/ardiary/src/main/java/com/army/ardiary/repository/FollowRepository.java +++ b/ardiary/src/main/java/com/army/ardiary/repository/FollowRepository.java @@ -1,10 +1,12 @@ package com.army.ardiary.repository; import com.army.ardiary.domain.entity.FollowEntity; +import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; import java.util.List; @Repository +@Mapper public interface FollowRepository { int insert(FollowEntity followEntity); FollowEntity selectById(int followId); diff --git a/ardiary/src/main/java/com/army/ardiary/repository/UserRepository.java b/ardiary/src/main/java/com/army/ardiary/repository/UserRepository.java index 8ad9226..6e924e6 100644 --- a/ardiary/src/main/java/com/army/ardiary/repository/UserRepository.java +++ b/ardiary/src/main/java/com/army/ardiary/repository/UserRepository.java @@ -1,9 +1,11 @@ package com.army.ardiary.repository; import com.army.ardiary.domain.entity.UserEntity; +import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @Repository +@Mapper public interface UserRepository { int insert(UserEntity userEntity); UserEntity selectById(int userId); diff --git a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java index a227124..80d99e2 100644 --- a/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java +++ b/ardiary/src/test/java/com/army/ardiary/repository/FollowRepositoryTest.java @@ -6,15 +6,15 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.ComponentScan; import java.time.LocalDate; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest -@MapperScan(basePackages = "com.army.ardiary") +@MapperScan(basePackages = "com.army.ardiary.repository") class FollowRepositoryTest { - @Autowired private FollowRepository followRepository; From 2f7de15db6499b1906eaa6e3d99f19122528ce46 Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Wed, 3 Aug 2022 15:49:03 +0900 Subject: [PATCH 10/13] =?UTF-8?q?templates=20=EC=B0=BE=EC=9D=84=20?= =?UTF-8?q?=EC=88=98=20=EC=97=86=EB=8B=A4=EB=8A=94=20=EC=97=90=EB=9F=AC?= =?UTF-8?q?=EA=B0=80=20=EC=83=9D=EA=B2=A8=EC=84=9C=20=ED=95=B4=EB=8B=B9=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=EC=97=90=20=ED=8F=B4=EB=8D=94=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/src/main/resources/templates/blank | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ardiary/src/main/resources/templates/blank diff --git a/ardiary/src/main/resources/templates/blank b/ardiary/src/main/resources/templates/blank new file mode 100644 index 0000000..e69de29 From 18ed03ffcb8558c1b7f7cbb309622b1ba13c6297 Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Sat, 6 Aug 2022 04:42:41 +0900 Subject: [PATCH 11/13] =?UTF-8?q?MyBatis=EB=B0=94=EA=BE=B8=EA=B8=B0?= =?UTF-8?q?=E3=85=A0=E3=85=A1=E3=85=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/src/main/resources/application.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ardiary/src/main/resources/application.yml b/ardiary/src/main/resources/application.yml index 5a9a850..feb1fbe 100644 --- a/ardiary/src/main/resources/application.yml +++ b/ardiary/src/main/resources/application.yml @@ -1,3 +1,7 @@ +#mybatis +mybatis: + type-aliases-package: com.army.ardiary.domain.entity #entity 경로(db 조회 결과인 resultType 패키지 사전 지정) + mapper-locations: classpath:mapper/*.xml #매퍼.xml 경로 spring: application: name: ardiary @@ -11,10 +15,7 @@ spring: driver-class-name: org.mariadb.jdbc.Driver username: admin password: 20220324 -#mybatis - mybatis: - type-aliases-package: com.army.ardiary.domain.entity #entity 경로(db 조회 결과인 resultType 패키지 사전 지정) - mapper-locations: classpath:mapper/*.xml #매퍼.xml 경로 + server: port: 8088 \ No newline at end of file From 6af22d662c1007c33629f69b4d1776779d2ef8e9 Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Sat, 6 Aug 2022 06:45:10 +0900 Subject: [PATCH 12/13] =?UTF-8?q?springdoc=EC=9C=BC=EB=A1=9C=20swagger?= =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=EB=9F=AC=EB=A6=AC=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD,=20DB=EC=99=B8=EB=9E=98=ED=82=A4=20=EC=86=8D=EC=84=B1?= =?UTF-8?q?=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/build.gradle | 7 +++- .../army/ardiary/config/SwaggerConfig.java | 38 ++++++++++++++----- .../ardiary/controller/SignController.java | 2 - ardiary/src/main/resources/application.yml | 7 +++- 4 files changed, 39 insertions(+), 15 deletions(-) diff --git a/ardiary/build.gradle b/ardiary/build.gradle index d7f8521..1cde8af 100644 --- a/ardiary/build.gradle +++ b/ardiary/build.gradle @@ -24,8 +24,11 @@ dependencies { //spring-web implementation 'org.springframework.boot:spring-boot-starter-web' //swagger - implementation 'io.springfox:springfox-swagger2:3.0.0' //이건 원래 넣어져 있던거고 - implementation 'io.springfox:springfox-swagger-ui:3.0.0' //이건 새로 추가함 + implementation 'org.springdoc:springdoc-openapi-ui:1.6.9' + //implementation 'org.springdoc:springdoc-openapi-core:1.1.49' + + //implementation 'io.springfox:springfox-swagger2:3.0.0' //이건 원래 넣어져 있던거고 + //implementation 'io.springfox:springfox-swagger-ui:3.0.0' //이건 새로 추가함 //lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' diff --git a/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java b/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java index 87fdcf8..2d88c4a 100644 --- a/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java +++ b/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java @@ -1,19 +1,38 @@ package com.army.ardiary.config; +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import org.springdoc.core.GroupedOpenApi; +import org.springframework.beans.factory.annotation.Value; 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; +import org.springframework.stereotype.Component; + @Configuration +//sprngdoc기본 config public class SwaggerConfig { - @Bean - public Docket api() { + public GroupedOpenApi publicApi() { + return GroupedOpenApi.builder() + .group("army") + .packagesToScan("com.army.ardiary") + //.pathsToMatch("/api/**") + .build(); + } + @Bean + public OpenAPI springShopOpenAPI() { + return new OpenAPI() + .info(new Info().title("AR Diary API") + .description("한이음 아르미 팀의 백 api 문서") + .version("version 0")); + } +} +//springfox 기본 config +/* public Docket api() { return new Docket(DocumentationType.OAS_30) .useDefaultResponseMessages(false)//swagger 제공 기본 응답 코드. false로 설정하면 안보임 .select() @@ -29,5 +48,4 @@ private ApiInfo apiInfo() { .description("Army swagger config") .version("3.0.0") .build(); - } -} + }*/ diff --git a/ardiary/src/main/java/com/army/ardiary/controller/SignController.java b/ardiary/src/main/java/com/army/ardiary/controller/SignController.java index 01c9fee..8cdf620 100644 --- a/ardiary/src/main/java/com/army/ardiary/controller/SignController.java +++ b/ardiary/src/main/java/com/army/ardiary/controller/SignController.java @@ -4,7 +4,6 @@ import com.army.ardiary.dto.EmailRequestDto; import com.army.ardiary.dto.LoginResponseDto; import com.army.ardiary.service.SignService; -import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -17,7 +16,6 @@ -@ApiOperation(value="회원가입 및 로그인 API ", notes="SignUp(회원가입) SignIn(로그인)API를 다룬다.")//swagger 페이지 설명 주석 @RestController public class SignController { // SignUp(회원가입) SignIn(로그인)API를 다루는 컨트롤러 diff --git a/ardiary/src/main/resources/application.yml b/ardiary/src/main/resources/application.yml index feb1fbe..ce3277a 100644 --- a/ardiary/src/main/resources/application.yml +++ b/ardiary/src/main/resources/application.yml @@ -11,10 +11,15 @@ spring: secretKey: {Key} #mariadb datasource: - url: jdbc:mariadb://armydb.cy6dgaeyzjne.ap-northeast-2.rds.amazonaws.com:3306/ardiary #접속DB명.(rds쓸때는 localhost부분 엔드포인트로 바꿔주기) + url: jdbc:mariadb://armydb.cy6dgaeyzjne.ap-northeast-2.rds.amazonaws.com:3306/ardiary_nf #접속DB명.(rds쓸때는 localhost부분 엔드포인트로 바꿔주기). ardiary_nf: no foreign 외래키 속성 제거한 데이터베이스. 외래키 속성 사용하려면 _nf지우면 됨 driver-class-name: org.mariadb.jdbc.Driver username: admin password: 20220324 +#swagger +springdoc: + swagger-ui: + path: army_api.html + packages-to-scan: com.army.ardiary server: From b5815a8a0498e4b3c30b04697b8b151359ab7fbf Mon Sep 17 00:00:00 2001 From: "prkim99@gmail.com" Date: Fri, 12 Aug 2022 04:31:00 +0900 Subject: [PATCH 13/13] =?UTF-8?q?springfox=EB=A1=9C=20swagger=20=EA=B0=80?= =?UTF-8?q?=EB=8A=A5=ED=95=98=EA=B2=8C=20=EB=B0=94=EA=BF=94=EB=B4=84.=20?= =?UTF-8?q?=EA=B7=BC=EB=8D=B0=20controller=EC=97=90=20=EC=9E=88=EB=8A=94?= =?UTF-8?q?=20api=EB=93=A4=EC=9D=B4=20=EC=95=88=EC=9D=BD=EC=96=B4=EC=99=80?= =?UTF-8?q?=EC=A7=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ardiary/build.gradle | 4 +- .../army/ardiary/config/SwaggerConfig.java | 66 +++++++++++-------- .../ardiary/controller/SignController.java | 3 +- ardiary/src/main/resources/application.yml | 19 ++++-- .../main/resources/mapper/FollowMapper.xml | 2 +- 5 files changed, 55 insertions(+), 39 deletions(-) diff --git a/ardiary/build.gradle b/ardiary/build.gradle index 1cde8af..9b43338 100644 --- a/ardiary/build.gradle +++ b/ardiary/build.gradle @@ -24,10 +24,10 @@ dependencies { //spring-web implementation 'org.springframework.boot:spring-boot-starter-web' //swagger - implementation 'org.springdoc:springdoc-openapi-ui:1.6.9' + //implementation 'org.springdoc:springdoc-openapi-ui:1.6.9' //implementation 'org.springdoc:springdoc-openapi-core:1.1.49' - //implementation 'io.springfox:springfox-swagger2:3.0.0' //이건 원래 넣어져 있던거고 + implementation 'io.springfox:springfox-boot-starter:3.0.0' //이건 원래 넣어져 있던거고 //implementation 'io.springfox:springfox-swagger-ui:3.0.0' //이건 새로 추가함 //lombok compileOnly 'org.projectlombok:lombok' diff --git a/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java b/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java index 2d88c4a..5963f81 100644 --- a/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java +++ b/ardiary/src/main/java/com/army/ardiary/config/SwaggerConfig.java @@ -5,47 +5,55 @@ import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; -import org.springdoc.core.GroupedOpenApi; +//import org.springdoc.core.GroupedOpenApi; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +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; +import springfox.documentation.swagger2.annotations.EnableSwagger2; - +@EnableSwagger2 @Configuration -//sprngdoc기본 config -public class SwaggerConfig { - @Bean - public GroupedOpenApi publicApi() { - return GroupedOpenApi.builder() - .group("army") - .packagesToScan("com.army.ardiary") - //.pathsToMatch("/api/**") - .build(); - } - @Bean - public OpenAPI springShopOpenAPI() { +public class SwaggerConfig{ +//prngdoc기본 config +/* @Bean + public OpenAPI openAPI(@Value("${springdoc.version}") String springdocVersion) { + Info info = new Info() + .title("타이틀 입력") + .version(springdocVersion) + .description("API에 대한 설명 부분"); + return new OpenAPI() - .info(new Info().title("AR Diary API") - .description("한이음 아르미 팀의 백 api 문서") - .version("version 0")); - } -} + .components(new Components()) + .info(info); + }*/ + //springfox 기본 config -/* public Docket api() { - return new Docket(DocumentationType.OAS_30) +private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("Army Swagger") + .description("Army swagger config") + .version("3.0.0") + .build(); +} + @Bean + public Docket api() { + return new Docket(DocumentationType.SWAGGER_2) .useDefaultResponseMessages(false)//swagger 제공 기본 응답 코드. false로 설정하면 안보임 .select() - .apis(RequestHandlerSelectors.basePackage("com.army.ardiary.controller")) //api스펙이 작성되어있는 패키지(컨트롤러) 지정 RequestHandlerSelectors.any() 로 선언해도 됨 + .apis(RequestHandlerSelectors.basePackage("com.army.ardiary")) //api스펙이 작성되어있는 패키지(컨트롤러) 지정 RequestHandlerSelectors.any() 로 선언해도 됨 .paths(PathSelectors.any()) //path에 입력한 조건에 맞는 api를 문서화 .build() .apiInfo(apiInfo()); } - private ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("Army Swagger") - .description("Army swagger config") - .version("3.0.0") - .build(); - }*/ +} + diff --git a/ardiary/src/main/java/com/army/ardiary/controller/SignController.java b/ardiary/src/main/java/com/army/ardiary/controller/SignController.java index 8cdf620..1190b77 100644 --- a/ardiary/src/main/java/com/army/ardiary/controller/SignController.java +++ b/ardiary/src/main/java/com/army/ardiary/controller/SignController.java @@ -4,6 +4,7 @@ import com.army.ardiary.dto.EmailRequestDto; import com.army.ardiary.dto.LoginResponseDto; import com.army.ardiary.service.SignService; +import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -15,7 +16,7 @@ - +@Tag(name = "signUp controller", description = "bear controller desc") //swagger annotation @RestController public class SignController { // SignUp(회원가입) SignIn(로그인)API를 다루는 컨트롤러 diff --git a/ardiary/src/main/resources/application.yml b/ardiary/src/main/resources/application.yml index ce3277a..4a7c46c 100644 --- a/ardiary/src/main/resources/application.yml +++ b/ardiary/src/main/resources/application.yml @@ -2,6 +2,12 @@ mybatis: type-aliases-package: com.army.ardiary.domain.entity #entity 경로(db 조회 결과인 resultType 패키지 사전 지정) mapper-locations: classpath:mapper/*.xml #매퍼.xml 경로 +#swagger +#springdoc: +# packages-to-scan: com.army.ardiary.controller +# swagger-ui: +# path: /army_api.html + #paths-to-match: /api/** spring: application: name: ardiary @@ -15,12 +21,13 @@ spring: driver-class-name: org.mariadb.jdbc.Driver username: admin password: 20220324 -#swagger -springdoc: - swagger-ui: - path: army_api.html - packages-to-scan: com.army.ardiary +#springfox 사용 가능 + mvc: + pathmatch: + matching-strategy: ant_path_matcher + server: - port: 8088 \ No newline at end of file + port: 8088 + forward-headers-strategy: framework \ No newline at end of file diff --git a/ardiary/src/main/resources/mapper/FollowMapper.xml b/ardiary/src/main/resources/mapper/FollowMapper.xml index 2f99b44..2a45421 100644 --- a/ardiary/src/main/resources/mapper/FollowMapper.xml +++ b/ardiary/src/main/resources/mapper/FollowMapper.xml @@ -25,7 +25,7 @@ keyColumn="follow_id"> UPDATE follow SET follower = #{follower}, - followee = #{followee}, + followee = #{followee} WHERE follow_id = #{followId};