From a4cf43c4221b3a8cadc5a7c35e194918c2aabf6d Mon Sep 17 00:00:00 2001 From: TaeyeonRoyce Date: Sun, 17 Jul 2022 19:04:15 +0900 Subject: [PATCH 1/6] =?UTF-8?q?chore=20:=20Dockerfile=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3cddce4..a663fb6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,23 @@ -FROM openjdk:11 +#FROM openjdk:11 +# +#EXPOSE 9100 +# +#ADD build/libs/ringleader-0.0.1-SNAPSHOT.jar ringleader-0.0.1.jar +#COPY ${JAR_FILE} app.jar +# +#ENTRYPOINT ["java","-jar", "/app.jar"] -EXPOSE 9100 +FROM openjdk:11 as builder -ADD build/libs/ringleader-0.0.1-SNAPSHOT.jar ringleader-0.0.1.jar -COPY ${JAR_FILE} app.jar +COPY gradlew . +COPY gradle gradle +COPY build.gradle . +COPY settings.gradle . +COPY src src +RUN chmod +x ./gradlew +RUN ./gradlew bootJar -ENTRYPOINT ["java","-jar", "/app.jar"] \ No newline at end of file +FROM openjdk:11 +COPY --from=builder build/libs/*.jar app.jar +ENTRYPOINT ["java","-jar","/app.jar"] +EXPOSE 9100 \ No newline at end of file From 3ffe2e362b6bd629d08933cf5f9b38ecbd889f22 Mon Sep 17 00:00:00 2001 From: TaeyoungNoah Date: Thu, 21 Jul 2022 16:54:40 +0900 Subject: [PATCH 2/6] =?UTF-8?q?feat:=20Swagger=20gradle=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=84=B1=20=EC=B6=94=EA=B0=80=20&=20SwaggerConfig=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 4 +++ .../ringleader/config/SwaggerConfig.java | 32 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/main/java/umc/spring/ringleader/config/SwaggerConfig.java diff --git a/build.gradle b/build.gradle index 9b6bf04..583f8a6 100644 --- a/build.gradle +++ b/build.gradle @@ -37,6 +37,10 @@ dependencies { //yml 파일 암호화 implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.3' + //https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui + implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' + implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' + } tasks.named('test') { diff --git a/src/main/java/umc/spring/ringleader/config/SwaggerConfig.java b/src/main/java/umc/spring/ringleader/config/SwaggerConfig.java new file mode 100644 index 0000000..3d5e27b --- /dev/null +++ b/src/main/java/umc/spring/ringleader/config/SwaggerConfig.java @@ -0,0 +1,32 @@ +package umc.spring.ringleader.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; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +@Configuration +@EnableSwagger2 +public class SwaggerConfig { + @Bean + public Docket restAPI() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(RequestHandlerSelectors.basePackage("umc.spring.ringleader")) + .paths(PathSelectors.any()) + .build(); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("RingLeader Spring Boot REST API") + .version("1.0.0") + .description("골목대장의 swagger api 입니다.") + .build(); + } +} From 2044402e02dc4aa57676da63d050120c10470548 Mon Sep 17 00:00:00 2001 From: TaeyoungNoah Date: Thu, 21 Jul 2022 17:33:13 +0900 Subject: [PATCH 3/6] =?UTF-8?q?feat(Swagger):=20BaseResponse=ED=95=84?= =?UTF-8?q?=EB=93=9C=EC=97=90=20example=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/umc/spring/ringleader/config/BaseResponse.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/umc/spring/ringleader/config/BaseResponse.java b/src/main/java/umc/spring/ringleader/config/BaseResponse.java index 2e4d78f..16ddf9f 100644 --- a/src/main/java/umc/spring/ringleader/config/BaseResponse.java +++ b/src/main/java/umc/spring/ringleader/config/BaseResponse.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Getter; @@ -13,10 +14,17 @@ @JsonPropertyOrder({"isSuccess", "code", "message", "result"}) public class BaseResponse { + @ApiModelProperty(example = "메시지") @JsonProperty("isSuccess") private final Boolean isSuccess; + + @ApiModelProperty(example = "메시지") private final String message; + + @ApiModelProperty(example = "상태코드") private final int code; + + @ApiModelProperty(example = "응답데이터") @JsonInclude(JsonInclude.Include.NON_NULL) private T result; From 40daa35377d92216ac0b555b4cb0f0dc4434f7eb Mon Sep 17 00:00:00 2001 From: TaeyoungNoah Date: Thu, 21 Jul 2022 17:45:54 +0900 Subject: [PATCH 4/6] =?UTF-8?q?feat(Region):=20Swagger=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/ringleader/region/RegionController.java | 7 +++++++ .../ringleader/region/dto/GetRegionListRes.java | 6 ++++++ .../spring/ringleader/region/dto/GetRegionRes.java | 12 ++++++++++++ .../ringleader/region/dto/GetRegionTotalRes.java | 4 ++++ 4 files changed, 29 insertions(+) diff --git a/src/main/java/umc/spring/ringleader/region/RegionController.java b/src/main/java/umc/spring/ringleader/region/RegionController.java index e73d22c..7acf699 100644 --- a/src/main/java/umc/spring/ringleader/region/RegionController.java +++ b/src/main/java/umc/spring/ringleader/region/RegionController.java @@ -1,6 +1,8 @@ package umc.spring.ringleader.region; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; @@ -30,6 +32,8 @@ public class RegionController { * @return */ @GetMapping("/{userId}/list") + @ApiOperation(value = "User 별 Region 리스트업") + @ApiImplicitParam(name = "userId", required = true) public BaseResponse getRegionList(@PathVariable("userId") int userId) { log.info("[Region][GET] : Region 전체조회 / userId = {}", userId); GetRegionTotalRes getRegionTotalRes = regionService.getRegionList(userId); @@ -43,6 +47,8 @@ public BaseResponse getRegionList(@PathVariable("userId") int * @return */ @GetMapping("/{regionId}/detail") + @ApiOperation(value = "Region 세부사항") + @ApiImplicitParam(name = "regionId", required = true) public BaseResponse getRegionDetail(@PathVariable("regionId") int regionId) { log.info("[Region][GET] : Region 세부사항 / regionId = {}", regionId); GetRegionRes getRegionRes = regionService.getRegionDetail(regionId); @@ -50,6 +56,7 @@ public BaseResponse getRegionDetail(@PathVariable("regionId") int } @GetMapping("/ranking/list") + @ApiOperation(value = "Region 활성도 랭킹조회") public BaseResponse> getRegionListOrderByActivity() { log.info("[Region][GET] : Region 활성도 랭킹"); List regionOrderByActivity = regionService.getRegionOrderByActivity(); diff --git a/src/main/java/umc/spring/ringleader/region/dto/GetRegionListRes.java b/src/main/java/umc/spring/ringleader/region/dto/GetRegionListRes.java index dd4d3ed..5dcfa3c 100644 --- a/src/main/java/umc/spring/ringleader/region/dto/GetRegionListRes.java +++ b/src/main/java/umc/spring/ringleader/region/dto/GetRegionListRes.java @@ -1,5 +1,6 @@ package umc.spring.ringleader.region.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.*; @Getter @@ -7,7 +8,12 @@ @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class GetRegionListRes { + @ApiModelProperty(example = "Region ID") private int regionId; + + @ApiModelProperty(example = "Region 이름") private String placeName; + + @ApiModelProperty(example = "Region 활성도") private int regionActivity; } diff --git a/src/main/java/umc/spring/ringleader/region/dto/GetRegionRes.java b/src/main/java/umc/spring/ringleader/region/dto/GetRegionRes.java index 8993ccb..3eb7ba2 100644 --- a/src/main/java/umc/spring/ringleader/region/dto/GetRegionRes.java +++ b/src/main/java/umc/spring/ringleader/region/dto/GetRegionRes.java @@ -1,5 +1,6 @@ package umc.spring.ringleader.region.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.*; @Getter @@ -7,10 +8,21 @@ @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class GetRegionRes { + @ApiModelProperty(example = "Region ID") private int regionId; + + @ApiModelProperty(example = "Region 활성도") private int regionActivity; + + @ApiModelProperty(example = "Region 이름") private String placeName; + + @ApiModelProperty(example = "Region 이미지") private String image; + + @ApiModelProperty(example = "Region 위치정보") private String location; + + @ApiModelProperty(example = "Region 상세정보") private String regionInfo; } diff --git a/src/main/java/umc/spring/ringleader/region/dto/GetRegionTotalRes.java b/src/main/java/umc/spring/ringleader/region/dto/GetRegionTotalRes.java index 7e5c85a..230610c 100644 --- a/src/main/java/umc/spring/ringleader/region/dto/GetRegionTotalRes.java +++ b/src/main/java/umc/spring/ringleader/region/dto/GetRegionTotalRes.java @@ -1,5 +1,6 @@ package umc.spring.ringleader.region.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.*; import java.util.List; @@ -9,6 +10,9 @@ @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class GetRegionTotalRes { + @ApiModelProperty(example = "최근 방문 Region") GetRegionListRes lastVisitRegion; + + @ApiModelProperty(example = "나머지 Region") List listRegion; } From abbe779649f6911d0e716e5ef14af10850858075 Mon Sep 17 00:00:00 2001 From: TaeyeonRoyce Date: Fri, 22 Jul 2022 22:48:14 +0900 Subject: [PATCH 5/6] =?UTF-8?q?feat(Review)=20:=20Swagger=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20=EC=9E=85=EB=A0=A5=EC=98=88=EC=99=B8?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ringleader/config/BaseResponseStatus.java | 8 +- .../review/model/dto/PostReviewBookmark.java | 3 + .../review/model/dto/PostReviewReq.java | 8 ++ .../review/web/ReviewController.java | 83 ++++++++++++++----- 4 files changed, 79 insertions(+), 23 deletions(-) diff --git a/src/main/java/umc/spring/ringleader/config/BaseResponseStatus.java b/src/main/java/umc/spring/ringleader/config/BaseResponseStatus.java index 998bb2b..914de8e 100644 --- a/src/main/java/umc/spring/ringleader/config/BaseResponseStatus.java +++ b/src/main/java/umc/spring/ringleader/config/BaseResponseStatus.java @@ -24,18 +24,20 @@ public enum BaseResponseStatus { /** * 3000 : Review관련 오류 */ + REVIEW_POST_TITLE_IS_NULL(false,3001,"리뷰 제목은 필수 항목 입니다."), + REVIEW_POST_HASHTAG_IS_NULL(false,3002,"최소 1개 이상의 해시태그를 포함하여야 합니다"), + REVIEW_POST_CONTENT_IS_NULL(false,3003,"내용은 필수 항목 입니다."), - + REVIEW_POST_CATEGORY_IS_NULL(false,3004,"카테고리 선택은 필수 입니다."), /** * 5000 : Region관련 오류 */ - /** * 6000 : Database, Server 오류 */ - REVIEW_NULL(false,6001,"존재하지 않는 리뷰입니다"); + REVIEW_NULL(false, 6001, "존재하지 않는 리뷰입니다"); diff --git a/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewBookmark.java b/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewBookmark.java index 35ca065..a70c96f 100644 --- a/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewBookmark.java +++ b/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewBookmark.java @@ -1,5 +1,6 @@ package umc.spring.ringleader.review.model.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Getter; @@ -11,6 +12,8 @@ @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class PostReviewBookmark { + @ApiModelProperty(required = true) private int userId; + @ApiModelProperty(required = true) private int reviewId; } diff --git a/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewReq.java b/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewReq.java index 96d9b40..8147491 100644 --- a/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewReq.java +++ b/src/main/java/umc/spring/ringleader/review/model/dto/PostReviewReq.java @@ -1,5 +1,6 @@ package umc.spring.ringleader.review.model.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.*; import java.util.List; @@ -9,12 +10,19 @@ @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class PostReviewReq { + @ApiModelProperty(required = true) private int userId; + @ApiModelProperty(required = true, example = "맛있는 음식점") private String title; + + @ApiModelProperty(required = true, example = "음식점") private String category; + @ApiModelProperty(required = true, example = "한식") private String hashtag1; private String hashtag2; private String hashtag3; + + @ApiModelProperty(required = true) private String contents; private int regionId; private List postImages; diff --git a/src/main/java/umc/spring/ringleader/review/web/ReviewController.java b/src/main/java/umc/spring/ringleader/review/web/ReviewController.java index 6dcdece..77d5d36 100644 --- a/src/main/java/umc/spring/ringleader/review/web/ReviewController.java +++ b/src/main/java/umc/spring/ringleader/review/web/ReviewController.java @@ -15,6 +15,10 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import umc.spring.ringleader.config.BaseException; import umc.spring.ringleader.config.BaseResponse; @@ -39,6 +43,8 @@ public ReviewController(ReviewService reviewService) { * @param postReviewReq * @return PostReviewRes */ + @ApiOperation(value = "Review 등록") + @ApiParam(name = "리뷰 정보", required = true) @ResponseBody @PostMapping("/") public BaseResponse addPost(@RequestBody PostReviewReq postReviewReq) { @@ -50,15 +56,21 @@ public BaseResponse addPost(@RequestBody PostReviewReq postReview 1. Title 2. hashTag1 3. contents + 4. category */ - - // if (reviewPostReq.getTitle() == null) { - // return new BaseResponse<>(); - // } else if (reviewPostReq.getHashtag1() == null) { - // return new BaseResponse<>(); - // } else if (reviewPostReq.getContents() == null) { - // return new BaseResponse<>(); - // } + try { + if (postReviewReq.getTitle() == null) { + throw new BaseException(REVIEW_POST_TITLE_IS_NULL); + } else if (postReviewReq.getHashtag1() == null) { + throw new BaseException(REVIEW_POST_HASHTAG_IS_NULL); + } else if (postReviewReq.getContents() == null) { + throw new BaseException(REVIEW_POST_CONTENT_IS_NULL); + } else if (postReviewReq.getCategory() == null) { + throw new BaseException(REVIEW_POST_CONTENT_IS_NULL); + } + } catch (BaseException e) { + return new BaseResponse<>(e.getStatus()); + } PostReviewRes res = reviewService.saveReview(postReviewReq); return new BaseResponse<>(res); @@ -70,6 +82,8 @@ public BaseResponse addPost(@RequestBody PostReviewReq postReview * @param reviewId reviewId에 해당하는 이미지도 모두 삭제 * @return */ + @ApiOperation(value = "Review ID로 리뷰 삭제") + @ApiImplicitParam(name = "reviewId", required = true) @ResponseBody @DeleteMapping("/delete/{reviewId}") public BaseResponse deletePost(@PathVariable int reviewId) { @@ -94,11 +108,16 @@ public BaseResponse deletePost(@PathVariable int reviewId) { * @param loginUserId (Nullable) * @return */ + @ApiOperation(value = "Region ID로 리뷰 조회") + @ApiImplicitParams({ + @ApiImplicitParam(name = "regionId", required = true), + @ApiImplicitParam(name = "loginUserId", required = false) + }) @ResponseBody @GetMapping("/{regionId}") public BaseResponse> getRegionReviewsLately( - @PathVariable int regionId, - @RequestParam(required = false) Integer loginUserId + @PathVariable int regionId, + @RequestParam(required = false) Integer loginUserId ) { log.info("[Review][GET] : RegionId로 리뷰 조회 (최신순으로 정렬) / regionId = {}", regionId); log.info("[Review][GET] : 로그인 유저 / category = {}", loginUserId); @@ -120,13 +139,27 @@ public BaseResponse> getRegionReviewsLately( * @param loginUserId (Nullable, Login하지 않은 회원에 대해서) * @return */ + @ApiOperation(value = "RegionId, Category로 리뷰 조회") + @ApiImplicitParams({ + @ApiImplicitParam(name = "category", required = true), + @ApiImplicitParam(name = "regionId", required = true), + @ApiImplicitParam(name = "loginUserId", required = false) + }) @ResponseBody @GetMapping("/{regionId}/category") public BaseResponse> getRegionReviewsByCategory( - @RequestParam String category, - @PathVariable Integer regionId, - @RequestParam(required = false) Integer loginUserId + @RequestParam String category, + @PathVariable Integer regionId, + @RequestParam(required = false) Integer loginUserId ) { + + try { + if (category == null) { + throw new BaseException(REVIEW_POST_CATEGORY_IS_NULL); + } + } catch (BaseException e) { + return new BaseResponse<>(e.getStatus()); + } log.info("[Review][GET] : category필터 추가하여 리뷰 조회 / category = {} ,regionId = {}", category, regionId); log.info("[Review][GET] : 로그인 유저 / category = {}", loginUserId); @@ -143,12 +176,18 @@ public BaseResponse> getRegionReviewsByCategory( * @param loginUserId (Nullable, Login하지 않은 회원에 대해서) * @return */ + @ApiOperation(value = "해당 사용자가 작성한 리뷰 중 지역별로 조회") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userId", required = true), + @ApiImplicitParam(name = "regionId", required = true), + @ApiImplicitParam(name = "loginUserId", required = false) + }) @ResponseBody @GetMapping("/profile/{userId}") - public BaseResponse> getRegionReviewsByCategory( - @PathVariable int userId, - @RequestParam Integer regionId, - @RequestParam(required = false) Integer loginUserId + public BaseResponse> getUserRegionReviews( + @PathVariable int userId, + @RequestParam Integer regionId, + @RequestParam(required = false) Integer loginUserId ) { log.info("[Review][GET] : 해당 User의 지역별 Review조회 / userId = {} ,regionId = {}", userId, regionId); log.info("[Review][GET] : 로그인 유저 / category = {}", loginUserId); @@ -164,20 +203,24 @@ public BaseResponse> getRegionReviewsByCategory( * @param req * @return */ + @ApiOperation(value = "사용자(UserId)가 리뷰(ReviewId)의 북마크 버튼을 눌렀을 때, 처리하는 API") @ResponseBody @PostMapping("/bookmark") public BaseResponse updateReviewToBookmark(@RequestBody PostReviewBookmark req) { log.info( - "[Review][POST] : 해당 User가 해당 Review에 북마크 버튼 클릭 / userId = {}, reviewId = {}", - req.getUserId(), req.getReviewId() + "[Review][POST] : 해당 User가 해당 Review에 북마크 버튼 클릭 / userId = {}, reviewId = {}", + req.getUserId(), req.getReviewId() ); String updateResultMessage = reviewService.updateReviewToBookmark(req); return new BaseResponse<>(updateResultMessage); } + @ApiOperation(value = "리뷰(ReviewId) 상세 조회") + @ApiImplicitParam(name = "reviewId", required = true) @GetMapping("/details/{reviewId}/") - public BaseResponse gerReviewByReviewId(@PathVariable int reviewId,@RequestParam(required = false) Integer loginUserId) { + public BaseResponse getReviewByReviewId(@PathVariable int reviewId, + @RequestParam(required = false) Integer loginUserId) { log.info("[Review][GET] : 해당 User의 지역별 Review조회 / userId = {}, reviewId = {} ", loginUserId, reviewId); ReviewRes reviewByReviewId = reviewService.getReviewByReviewId(loginUserId, reviewId); return new BaseResponse<>(reviewByReviewId); From f2bbb74d099527c07c8e44c3b0d5310ccec5cecc Mon Sep 17 00:00:00 2001 From: KSJ0128 Date: Fri, 5 Aug 2022 13:39:39 +0900 Subject: [PATCH 6/6] =?UTF-8?q?feat:=20=EA=B3=B5=EC=A7=80=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EB=93=B1=EB=A1=9D=20=EB=B0=8F=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/umc/spring/ringleader/Notice/DTO/NoticeRes.java | 2 ++ .../java/umc/spring/ringleader/Notice/DTO/PostNoticeReq.java | 2 ++ .../java/umc/spring/ringleader/Notice/DTO/PostNoticeRes.java | 2 ++ .../java/umc/spring/ringleader/Notice/NoticeController.java | 2 ++ src/main/java/umc/spring/ringleader/Notice/NoticeDao.java | 2 ++ src/main/java/umc/spring/ringleader/Notice/NoticeService.java | 2 ++ 6 files changed, 12 insertions(+) create mode 100644 src/main/java/umc/spring/ringleader/Notice/DTO/NoticeRes.java create mode 100644 src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeReq.java create mode 100644 src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeRes.java create mode 100644 src/main/java/umc/spring/ringleader/Notice/NoticeController.java create mode 100644 src/main/java/umc/spring/ringleader/Notice/NoticeDao.java create mode 100644 src/main/java/umc/spring/ringleader/Notice/NoticeService.java diff --git a/src/main/java/umc/spring/ringleader/Notice/DTO/NoticeRes.java b/src/main/java/umc/spring/ringleader/Notice/DTO/NoticeRes.java new file mode 100644 index 0000000..9ca5082 --- /dev/null +++ b/src/main/java/umc/spring/ringleader/Notice/DTO/NoticeRes.java @@ -0,0 +1,2 @@ +package umc.spring.ringleader.Notice.DTO;public class NoticeRes { +} diff --git a/src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeReq.java b/src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeReq.java new file mode 100644 index 0000000..881822c --- /dev/null +++ b/src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeReq.java @@ -0,0 +1,2 @@ +package umc.spring.ringleader.Notice.DTO;public class PostNoticeReq { +} diff --git a/src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeRes.java b/src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeRes.java new file mode 100644 index 0000000..e97a930 --- /dev/null +++ b/src/main/java/umc/spring/ringleader/Notice/DTO/PostNoticeRes.java @@ -0,0 +1,2 @@ +package umc.spring.ringleader.Notice.DTO;public class PostNoticeRes { +} diff --git a/src/main/java/umc/spring/ringleader/Notice/NoticeController.java b/src/main/java/umc/spring/ringleader/Notice/NoticeController.java new file mode 100644 index 0000000..5858df3 --- /dev/null +++ b/src/main/java/umc/spring/ringleader/Notice/NoticeController.java @@ -0,0 +1,2 @@ +package umc.spring.ringleader.Notice;public class NoticeController { +} diff --git a/src/main/java/umc/spring/ringleader/Notice/NoticeDao.java b/src/main/java/umc/spring/ringleader/Notice/NoticeDao.java new file mode 100644 index 0000000..b6574fc --- /dev/null +++ b/src/main/java/umc/spring/ringleader/Notice/NoticeDao.java @@ -0,0 +1,2 @@ +package umc.spring.ringleader.Notice;public class NoticeDao { +} diff --git a/src/main/java/umc/spring/ringleader/Notice/NoticeService.java b/src/main/java/umc/spring/ringleader/Notice/NoticeService.java new file mode 100644 index 0000000..2590cec --- /dev/null +++ b/src/main/java/umc/spring/ringleader/Notice/NoticeService.java @@ -0,0 +1,2 @@ +package umc.spring.ringleader.Notice;public class NoticeService { +}