From 5af904b97a624ae8f504375f372fb997f99c158f Mon Sep 17 00:00:00 2001 From: shinmj Date: Thu, 11 Nov 2021 09:57:07 +0900 Subject: [PATCH] =?UTF-8?q?fixed:=20=20response=20status=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD,=20list=20=EA=B0=9D=EC=B2=B4=20=EB=B0=94=EC=9D=B8?= =?UTF-8?q?=EB=94=A9=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boardservice/api/board/BoardApiController.java | 3 +++ .../boardservice/api/board/dto/BoardResponseDto.java | 2 +- .../boardservice/api/comment/CommentApiController.java | 4 ++++ .../boardservice/api/posts/PostsApiController.java | 5 +++++ .../boardservice/api/posts/dto/PostsResponseDto.java | 4 ++-- .../cloud/boardservice/domain/posts/Posts.java | 2 +- .../egovframe/cloud/boardservice/util/HttpUtil.java | 2 +- .../boardservice/api/board/BoardApiControllerTest.java | 4 ++-- .../api/comment/CommentApiControllerTest.java | 4 ++-- .../boardservice/api/posts/PostsApiControllerTest.java | 4 ++-- .../api/attachment/AttachmentApiController.java | 8 ++++++++ .../portalservice/api/banner/BannerApiController.java | 3 +++ .../portalservice/api/code/CodeApiController.java | 3 +++ .../api/code/CodeDetailApiController.java | 3 +++ .../api/content/ContentApiController.java | 3 +++ .../portalservice/api/menu/MenuApiController.java | 3 +++ .../portalservice/api/menu/MenuRoleApiController.java | 2 ++ .../portalservice/api/menu/dto/MenuDnDRequestDto.java | 2 +- .../portalservice/api/menu/dto/MenuRoleRequestDto.java | 2 +- .../portalservice/api/policy/PolicyApiController.java | 3 +++ .../api/privacy/PrivacyApiController.java | 3 +++ .../api/statistics/StatisticsApiController.java | 2 ++ .../api/attachment/AttachmentApiControllerTest.java | 10 +++++----- .../api/banner/BannerApiControllerTest.java | 4 ++-- .../portalservice/api/code/CodeApiControllerTest.java | 2 +- .../api/code/CodeDetailApiControllerTest.java | 2 +- .../api/content/ContentApiControllerTest.java | 4 ++-- .../portalservice/api/menu/MenuApiControllerTest.java | 2 +- .../api/menu/MenuRoleApiControllerTest.java | 2 +- .../api/message/MessageApiControllerTest.java | 9 +++++++-- .../api/policy/PolicyApiControllerTest.java | 2 +- .../api/privacy/PrivacyApiControllerTest.java | 4 ++-- .../api/role/AuthorizationApiController.java | 3 +++ .../api/role/RoleAuthorizationApiController.java | 3 +++ .../cloud/userservice/api/user/UserApiController.java | 3 +++ .../cloud/userservice/domain/role/Authorization.java | 2 +- .../api/role/AuthorizationApiControllerTest.java | 4 ++-- .../api/role/RoleAuthorizationApiControllerTest.java | 4 ++-- .../userservice/api/user/UserApiControllerTest.java | 2 +- 39 files changed, 96 insertions(+), 37 deletions(-) diff --git a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/BoardApiController.java b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/BoardApiController.java index b892c18..5ee7182 100644 --- a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/BoardApiController.java +++ b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/BoardApiController.java @@ -12,6 +12,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -88,6 +89,7 @@ public class BoardApiController { * @return BoardResponseDto 게시판 상세 응답 DTO */ @PostMapping("/api/v1/boards") + @ResponseStatus(HttpStatus.CREATED) public BoardResponseDto save(@RequestBody @Valid BoardSaveRequestDto requestDto) { return boardService.save(requestDto); } @@ -110,6 +112,7 @@ public class BoardApiController { * @param boardNo 게시판 번호 */ @DeleteMapping("/api/v1/boards/{boardNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Integer boardNo) { boardService.delete(boardNo); } diff --git a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/dto/BoardResponseDto.java b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/dto/BoardResponseDto.java index dd40219..e966a2a 100644 --- a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/dto/BoardResponseDto.java +++ b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/board/dto/BoardResponseDto.java @@ -194,7 +194,7 @@ public class BoardResponseDto implements Serializable { * @param posts 게시물 목록 */ public void setNewestPosts(List posts) { - this.posts = new ArrayList<>(posts); + this.posts = posts == null ? null : new ArrayList<>(posts); } } diff --git a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/comment/CommentApiController.java b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/comment/CommentApiController.java index 6fc89f8..08a232b 100644 --- a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/comment/CommentApiController.java +++ b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/comment/CommentApiController.java @@ -6,6 +6,7 @@ import org.egovframe.cloud.boardservice.api.comment.dto.CommentSaveRequestDto; import org.egovframe.cloud.boardservice.api.comment.dto.CommentUpdateRequestDto; import org.egovframe.cloud.boardservice.service.comment.CommentService; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; @@ -94,6 +95,7 @@ public class CommentApiController { * @param requestDto 댓글 등록 요청 DTO */ @PostMapping("/api/v1/comments") + @ResponseStatus(HttpStatus.CREATED) public CommentResponseDto save(@RequestBody @Valid CommentSaveRequestDto requestDto) { return commentService.save(requestDto); } @@ -119,6 +121,7 @@ public class CommentApiController { * @param commentNo 댓글 번호 */ @DeleteMapping("/api/v1/comments/delete/{boardNo}/{postsNo}/{commentNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteByCreator(@PathVariable Integer boardNo, @PathVariable Integer postsNo, @PathVariable Integer commentNo) { String userId = SecurityContextHolder.getContext().getAuthentication().getName(); @@ -143,6 +146,7 @@ public class CommentApiController { * @param commentNo 댓글 번호 */ @DeleteMapping("/api/v1/comments/{boardNo}/{postsNo}/{commentNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Integer boardNo, @PathVariable Integer postsNo, @PathVariable Integer commentNo) { commentService.delete(boardNo, postsNo, commentNo); } diff --git a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/PostsApiController.java b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/PostsApiController.java index 01ffb0b..b5de0d4 100644 --- a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/PostsApiController.java +++ b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/PostsApiController.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.SortDefault; +import org.springframework.http.HttpStatus; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; @@ -132,6 +133,7 @@ public class PostsApiController { * @return PostsResponseDto 게시물 상세 응답 DTO */ @PostMapping("/api/v1/posts/save/{boardNo}") + @ResponseStatus(HttpStatus.CREATED) public PostsResponseDto saveByCreator(@PathVariable Integer boardNo, @RequestBody @Valid PostsSimpleSaveRequestDto requestDto) { String userId = SecurityContextHolder.getContext().getAuthentication().getName(); return postsService.save(boardNo, requestDto, userId); @@ -159,6 +161,7 @@ public class PostsApiController { * @param postsNo 게시물 번호 */ @DeleteMapping("/api/v1/posts/remove/{boardNo}/{postsNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteByCreator(@PathVariable Integer boardNo, @PathVariable Integer postsNo) { String userId = SecurityContextHolder.getContext().getAuthentication().getName(); @@ -173,6 +176,7 @@ public class PostsApiController { * @return PostsResponseDto 게시물 상세 응답 DTO */ @PostMapping("/api/v1/posts/{boardNo}") + @ResponseStatus(HttpStatus.CREATED) public PostsResponseDto save(@PathVariable Integer boardNo, @RequestBody @Valid PostsSaveRequestDto requestDto) { return postsService.save(boardNo, requestDto); } @@ -222,6 +226,7 @@ public class PostsApiController { * @param requestDtoList 게시물 삭제 요청 DTO List */ @PutMapping("/api/v1/posts/delete") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@RequestBody @Valid List requestDtoList) { postsService.delete(requestDtoList); } diff --git a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/dto/PostsResponseDto.java b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/dto/PostsResponseDto.java index 6fdbda6..ab7b75d 100644 --- a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/dto/PostsResponseDto.java +++ b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/api/posts/dto/PostsResponseDto.java @@ -203,14 +203,14 @@ public class PostsResponseDto implements Serializable { * 이전 게시물 */ public void setPrevPosts(List prevPosts) { - this.prevPosts = new ArrayList<>(prevPosts); + this.prevPosts = prevPosts == null ? null : new ArrayList<>(prevPosts); } /** * 다음 게시물 */ public void setNextPosts(List nextPosts) { - this.nextPosts = new ArrayList<>(nextPosts); + this.nextPosts = nextPosts == null ? null : new ArrayList<>(nextPosts); } } diff --git a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/domain/posts/Posts.java b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/domain/posts/Posts.java index 3c6697a..be15707 100644 --- a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/domain/posts/Posts.java +++ b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/domain/posts/Posts.java @@ -138,7 +138,7 @@ public class Posts extends BaseEntity { this.noticeAt = noticeAt; this.deleteAt = deleteAt; this.creator = creator; - this.comments = new ArrayList<>(comments); + this.comments = comments == null ? null : new ArrayList<>(comments); } /** diff --git a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/util/HttpUtil.java b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/util/HttpUtil.java index b30c1ae..2002bb0 100644 --- a/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/util/HttpUtil.java +++ b/backend/board-service/src/main/java/org/egovframe/cloud/boardservice/util/HttpUtil.java @@ -26,7 +26,7 @@ public class HttpUtil { * static method 만으로 구성된 유틸리티 클래스 * 객체 생성 금지 */ - private HttpUtil() { + private HttpUtil() throws IllegalStateException { throw new IllegalStateException("Http Utility Class"); } diff --git a/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/board/BoardApiControllerTest.java b/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/board/BoardApiControllerTest.java index a098808..6f79923 100644 --- a/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/board/BoardApiControllerTest.java +++ b/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/board/BoardApiControllerTest.java @@ -238,7 +238,7 @@ public class BoardApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); BoardResponseDto dto = responseEntity.getBody(); assertThat(dto).isNotNull(); @@ -354,7 +354,7 @@ public class BoardApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT); Optional board = selectData(boardNo); assertThat(board).isNotPresent(); diff --git a/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/comment/CommentApiControllerTest.java b/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/comment/CommentApiControllerTest.java index fd00614..089aeeb 100644 --- a/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/comment/CommentApiControllerTest.java +++ b/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/comment/CommentApiControllerTest.java @@ -320,7 +320,7 @@ class CommentApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); CommentResponseDto dto = responseEntity.getBody(); assertThat(dto).isNotNull(); @@ -476,7 +476,7 @@ class CommentApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT); Optional comment = selectData(boardNo, postsNo, commentNo); assertThat(comment).isPresent(); diff --git a/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/posts/PostsApiControllerTest.java b/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/posts/PostsApiControllerTest.java index a404ede..5c791ca 100644 --- a/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/posts/PostsApiControllerTest.java +++ b/backend/board-service/src/test/java/org/egovframe/cloud/boardservice/api/posts/PostsApiControllerTest.java @@ -442,7 +442,7 @@ class PostsApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); PostsResponseDto dto = responseEntity.getBody(); assertThat(dto).isNotNull(); @@ -640,7 +640,7 @@ class PostsApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT); List list = postsRepository.findAll(); diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiController.java index ef71727..c08feda 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiController.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.ContentDisposition; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -56,6 +57,7 @@ public class AttachmentApiController { * @throws Exception */ @PostMapping(value = "/api/v1/upload") + @ResponseStatus(HttpStatus.CREATED) public AttachmentFileResponseDto upload(@RequestParam("file") MultipartFile file) { return attachmentService.uploadFile(file); } @@ -69,6 +71,7 @@ public class AttachmentApiController { * @return */ @PostMapping(value = "/api/v1/upload/multi") + @ResponseStatus(HttpStatus.CREATED) public List uploadMulti(@RequestParam("files") List files) { return attachmentService.uploadFiles(files); } @@ -81,6 +84,7 @@ public class AttachmentApiController { * @return */ @PostMapping(value = "/api/v1/upload/editor") + @ResponseStatus(HttpStatus.CREATED) public AttachmentEditorResponseDto uploadEditor(@RequestBody AttachmentBase64RequestDto editorRequestDto) { return attachmentService.uploadEditor(editorRequestDto); } @@ -210,6 +214,7 @@ public class AttachmentApiController { * @return 새로 생성한 첨부파일 code */ @PostMapping(value = "/api/v1/attachments/file") + @ResponseStatus(HttpStatus.CREATED) public String save(@RequestBody List saveRequestDtoList) { return attachmentService.save(saveRequestDtoList); } @@ -260,6 +265,7 @@ public class AttachmentApiController { * @param uniqueId */ @DeleteMapping(value = "/api/v1/attachments/{uniqueId}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable String uniqueId) { attachmentService.delete(uniqueId); } @@ -273,6 +279,7 @@ public class AttachmentApiController { * @return */ @PostMapping(value = "/api/v1/attachments/upload", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE, MediaType.APPLICATION_JSON_VALUE}) + @ResponseStatus(HttpStatus.CREATED) public String uploadAndSave(@RequestPart(value = "files", required = true) List files, @RequestPart(value = "info", required = false) AttachmentUploadRequestDto uploadRequestDto) { return attachmentService.uploadAndSave(files, uploadRequestDto); @@ -339,6 +346,7 @@ public class AttachmentApiController { * @param attachmentCode */ @DeleteMapping("/api/v1/attachments/{attachmentCode}/children") + @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteAllEmptyEntity(@PathVariable String attachmentCode) { attachmentService.deleteAllEmptyEntity(attachmentCode); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/banner/BannerApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/banner/BannerApiController.java index 3465df0..29bf836 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/banner/BannerApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/banner/BannerApiController.java @@ -7,6 +7,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -94,6 +95,7 @@ public class BannerApiController { * @return BannerResponseDto 배너 상세 응답 DTO */ @PostMapping("/api/v1/banners") + @ResponseStatus(HttpStatus.CREATED) public BannerResponseDto save(@RequestBody @Valid BannerSaveRequestDto requestDto) { return bannerService.save(requestDto); } @@ -128,6 +130,7 @@ public class BannerApiController { * @param bannerNo 배너 번호 */ @DeleteMapping("/api/v1/banners/{bannerNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Integer bannerNo) { bannerService.delete(bannerNo); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeApiController.java index e297ef3..db9b777 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeApiController.java @@ -10,6 +10,7 @@ import org.egovframe.cloud.portalservice.domain.code.CodeRepository; import org.egovframe.cloud.portalservice.service.code.CodeService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -79,6 +80,7 @@ public class CodeApiController { * @return */ @PostMapping("/api/v1/codes") + @ResponseStatus(HttpStatus.CREATED) public String save(@RequestBody @Valid CodeSaveRequestDto requestDto) { return codeService.save(requestDto); } @@ -113,6 +115,7 @@ public class CodeApiController { * @param codeId */ @DeleteMapping("/api/v1/codes/{codeId}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable String codeId) { codeService.delete(codeId); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiController.java index 126bb3a..b9b5a13 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiController.java @@ -6,6 +6,7 @@ import org.egovframe.cloud.portalservice.domain.code.CodeRepository; import org.egovframe.cloud.portalservice.service.code.CodeDetailService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -100,6 +101,7 @@ public class CodeDetailApiController { * @return */ @PostMapping("/api/v1/code-details") + @ResponseStatus(HttpStatus.CREATED) public String save(@RequestBody @Valid CodeDetailSaveRequestDto requestDto) { return codeDetailService.save(requestDto); } @@ -134,6 +136,7 @@ public class CodeDetailApiController { * @param codeId */ @DeleteMapping("/api/v1/code-details/{codeId}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable String codeId) { codeDetailService.delete(codeId); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/content/ContentApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/content/ContentApiController.java index 41262b8..fb35f74 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/content/ContentApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/content/ContentApiController.java @@ -11,6 +11,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -72,6 +73,7 @@ public class ContentApiController { * @return ContentResponseDto 컨텐츠 상세 응답 DTO */ @PostMapping("/api/v1/contents") + @ResponseStatus(HttpStatus.CREATED) public ContentResponseDto save(@RequestBody @Valid ContentSaveRequestDto requestDto) { return contentService.save(requestDto); } @@ -94,6 +96,7 @@ public class ContentApiController { * @param contentNo 컨텐츠 번호 */ @DeleteMapping("/api/v1/contents/{contentNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Integer contentNo) { contentService.delete(contentNo); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuApiController.java index bb560bd..ef62b0c 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuApiController.java @@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.egovframe.cloud.portalservice.api.menu.dto.*; import org.egovframe.cloud.portalservice.domain.menu.SiteRepository; import org.egovframe.cloud.portalservice.service.menu.MenuService; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -75,6 +76,7 @@ public class MenuApiController { * @return */ @PostMapping(value = "/api/v1/menus") + @ResponseStatus(HttpStatus.CREATED) public MenuTreeResponseDto save(@RequestBody @Valid MenuTreeRequestDto menuTreeRequestDto) { return menuService.save(menuTreeRequestDto); } @@ -121,6 +123,7 @@ public class MenuApiController { * @param menuId */ @DeleteMapping(value = "/api/v1/menus/{menuId}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Long menuId) { menuService.delete(menuId); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiController.java index 00abf31..2307ca6 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiController.java @@ -7,6 +7,7 @@ import org.egovframe.cloud.portalservice.api.menu.dto.MenuRoleResponseDto; import org.egovframe.cloud.portalservice.api.menu.dto.MenuSideResponseDto; import org.egovframe.cloud.portalservice.domain.user.User; import org.egovframe.cloud.portalservice.service.menu.MenuRoleService; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -54,6 +55,7 @@ public class MenuRoleApiController { * @return */ @PostMapping("/api/v1/menu-roles") + @ResponseStatus(HttpStatus.CREATED) public String save(@RequestBody List menuRoleRequestDtoList) { return menuRoleService.save(menuRoleRequestDtoList); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuDnDRequestDto.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuDnDRequestDto.java index 0b491f5..2b8f1ef 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuDnDRequestDto.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuDnDRequestDto.java @@ -48,6 +48,6 @@ public class MenuDnDRequestDto { this.parentId = parentId; this.level = level; this.icon = icon; - this.children = new ArrayList<>(children); + this.children = children == null ? null : new ArrayList<>(children); } } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuRoleRequestDto.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuRoleRequestDto.java index cafb916..6e7732b 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuRoleRequestDto.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/menu/dto/MenuRoleRequestDto.java @@ -54,6 +54,6 @@ public class MenuRoleRequestDto { this.sortSeq = sortSeq; this.icon = icon; this.level = level; - this.children = new ArrayList<>(children); + this.children = children == null ? null : new ArrayList<>(children); } } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiController.java index cb3280d..a8bb712 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiController.java @@ -9,6 +9,7 @@ import org.egovframe.cloud.portalservice.api.policy.dto.PolicyUpdateRequestDto; import org.egovframe.cloud.portalservice.service.policy.PolicyService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; /** @@ -76,6 +77,7 @@ public class PolicyApiController { * @return */ @PostMapping("/api/v1/policies") + @ResponseStatus(HttpStatus.CREATED) public Long save(@RequestBody PolicySaveRequestDto saveRequestDto) { return policyService.save(saveRequestDto); } @@ -110,6 +112,7 @@ public class PolicyApiController { * @param id */ @DeleteMapping("/api/v1/policies/{id}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Long id) { policyService.delete(id); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiController.java index f3b10fe..457e5f6 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiController.java @@ -11,6 +11,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -83,6 +84,7 @@ public class PrivacyApiController { * @return PrivacyResponseDto 개인정보처리방침 상세 응답 DTO */ @PostMapping("/api/v1/privacies") + @ResponseStatus(HttpStatus.CREATED) public PrivacyResponseDto save(@RequestBody @Valid PrivacySaveRequestDto requestDto) { return privacyService.save(requestDto); } @@ -117,6 +119,7 @@ public class PrivacyApiController { * @param privacyNo 개인정보처리방침 번호 */ @DeleteMapping("/api/v1/privacies/{privacyNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Integer privacyNo) { privacyService.delete(privacyNo); } diff --git a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/statistics/StatisticsApiController.java b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/statistics/StatisticsApiController.java index d798a27..4d039ad 100644 --- a/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/statistics/StatisticsApiController.java +++ b/backend/portal-service/src/main/java/org/egovframe/cloud/portalservice/api/statistics/StatisticsApiController.java @@ -4,6 +4,7 @@ import lombok.RequiredArgsConstructor; import org.egovframe.cloud.portalservice.api.statistics.dto.StatisticsResponseDto; import org.egovframe.cloud.portalservice.api.statistics.dto.StatisticsYMRequestDto; import org.egovframe.cloud.portalservice.service.statistics.StatisticsService; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -59,6 +60,7 @@ public class StatisticsApiController { * @param request */ @PostMapping("/api/v1/statistics/{statisticsId}") + @ResponseStatus(HttpStatus.CREATED) public void save(@PathVariable String statisticsId, HttpServletRequest request) { statisticsService.save(request, statisticsId); } diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiControllerTest.java index 56edbee..768dda3 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/attachment/AttachmentApiControllerTest.java @@ -187,7 +187,7 @@ class AttachmentApiControllerTest { ResponseEntity responseEntity = restTemplate.postForEntity(url, requestDto, AttachmentEditorResponseDto.class); - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); assertThat(responseEntity.getBody().getOriginalFileName()).isEqualTo(testFile.getFilename()); } @@ -209,7 +209,7 @@ class AttachmentApiControllerTest { restTemplate.postForEntity(url, requestEntity, AttachmentFileResponseDto.class); //then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); } @@ -234,7 +234,7 @@ class AttachmentApiControllerTest { new ParameterizedTypeReference>() {}); //then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); } @@ -273,7 +273,7 @@ class AttachmentApiControllerTest { ResponseEntity responseEntity = restTemplate.postForEntity(url, saveRequestDtoList, String.class); //then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); } @Test @@ -454,7 +454,7 @@ class AttachmentApiControllerTest { ResponseEntity responseEntity = restTemplate.postForEntity(url, requestEntity, String.class); //then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); List attachmentList = attachmentRepository.findByCode(responseEntity.getBody()); attachmentList.stream().forEach(attachment -> { Path filePath = Paths.get(fileStorageUtils.getFileStorageLocation()+"/" +attachment.getPhysicalFileName()) diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/banner/BannerApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/banner/BannerApiControllerTest.java index 9c56a5a..e65ad14 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/banner/BannerApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/banner/BannerApiControllerTest.java @@ -289,7 +289,7 @@ class BannerApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); BannerResponseDto dto = responseEntity.getBody(); assertThat(dto).isNotNull(); @@ -386,7 +386,7 @@ class BannerApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT); Optional banner = selectData(bannerNo); assertThat(banner).isNotPresent(); diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeApiControllerTest.java index 97b99d1..8e895f0 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeApiControllerTest.java @@ -128,7 +128,7 @@ class CodeApiControllerTest { ResponseEntity responseEntity = restTemplate.exchange(API_URL, HttpMethod.POST, httpEntity, String.class); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); } @Test diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiControllerTest.java index 9137f4d..4677cde 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/code/CodeDetailApiControllerTest.java @@ -133,7 +133,7 @@ class CodeDetailApiControllerTest { ResponseEntity responseEntity = restTemplate.exchange(API_URL, HttpMethod.POST, httpEntity, String.class); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); } @Test diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/content/ContentApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/content/ContentApiControllerTest.java index a037c32..5c8ddfd 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/content/ContentApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/content/ContentApiControllerTest.java @@ -193,7 +193,7 @@ class ContentApiControllerTest { }); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); ContentResponseDto dto = responseEntity.getBody(); assertThat(dto).isNotNull(); @@ -270,7 +270,7 @@ class ContentApiControllerTest { ContentResponseDto.class); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT); Optional content = selectData(contentNo); assertThat(content).isNotPresent(); diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuApiControllerTest.java index 9896ff5..9c3efed 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuApiControllerTest.java @@ -232,7 +232,7 @@ class MenuApiControllerTest { ResponseEntity responseEntity = restTemplate.postForEntity(url, menuTreeRequestDto, MenuTreeResponseDto.class); //then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); System.out.println(responseEntity.getBody()); assertThat(responseEntity.getBody()).extracting("name").isEqualTo(menuTreeRequestDto.getName()); diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiControllerTest.java index 2d10b5b..f17084b 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/menu/MenuRoleApiControllerTest.java @@ -189,7 +189,7 @@ class MenuRoleApiControllerTest { restTemplate.exchange("/api/v1/menu-roles", HttpMethod.POST, httpEntity, String.class); //then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); assertThat(responseEntity.getBody()).isEqualTo("Success"); List roles = menuRoleRepository.findAll(); diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/message/MessageApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/message/MessageApiControllerTest.java index 05104ba..d82601c 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/message/MessageApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/message/MessageApiControllerTest.java @@ -2,6 +2,7 @@ package org.egovframe.cloud.portalservice.api.message; import java.util.List; +import java.util.Map; import org.assertj.core.api.Assertions; import org.egovframe.cloud.portalservice.api.message.dto.MessageListResponseDto; import org.egovframe.cloud.portalservice.domain.message.Message; @@ -52,10 +53,14 @@ class MessageApiControllerTest { String lang = "ko"; // when - ResponseEntity> responseEntity = restTemplate.exchange(API_URL + lang, HttpMethod.GET, null, new ParameterizedTypeReference>(){}); + ResponseEntity> responseEntity = + restTemplate.exchange(API_URL + lang, HttpMethod.GET, null, new ParameterizedTypeReference>(){}); // then - responseEntity.getBody().forEach(messageListResponseDto -> System.out.println("id = " + messageListResponseDto.getMessageId() + ", messageName() = " + messageListResponseDto.getMessageName())); + Map body = responseEntity.getBody(); + body.entrySet().stream().forEach(entry -> { + System.out.println("id = " + entry.getKey() + ", messageName() = " + entry.getValue()); + }); Assertions.assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); Assertions.assertThat(responseEntity.getBody().size()).isEqualTo(3); } diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiControllerTest.java index 53cdc9f..9d3c715 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/policy/PolicyApiControllerTest.java @@ -93,7 +93,7 @@ class PolicyApiControllerTest { ResponseEntity responseEntity = restTemplate.postForEntity(API_URL, requestDto, Long.class); //then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); Optional policy = policyRepository.findById(responseEntity.getBody().longValue()); System.out.println(policy.get().toString()); diff --git a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiControllerTest.java b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiControllerTest.java index d399f77..21d79e7 100644 --- a/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiControllerTest.java +++ b/backend/portal-service/src/test/java/org/egovframe/cloud/portalservice/api/privacy/PrivacyApiControllerTest.java @@ -232,7 +232,7 @@ class PrivacyApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.CREATED); PrivacyResponseDto dto = responseEntity.getBody(); assertThat(dto).isNotNull(); @@ -354,7 +354,7 @@ class PrivacyApiControllerTest { ); // then - assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(responseEntity.getStatusCode()).isEqualTo(HttpStatus.NO_CONTENT); Optional privacy = selectData(privacyNo); assertThat(privacy).isNotPresent(); diff --git a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiController.java b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiController.java index d689f3d..87039c6 100644 --- a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiController.java +++ b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiController.java @@ -12,6 +12,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; +import org.springframework.http.HttpStatus; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; @@ -115,6 +116,7 @@ public class AuthorizationApiController { * @return AuthorizationResponseDto 인가 상세 응답 DTO */ @PostMapping("/api/v1/authorizations") + @ResponseStatus(HttpStatus.CREATED) public AuthorizationResponseDto save(@RequestBody @Valid AuthorizationSaveRequestDto requestDto) { return authorizationService.save(requestDto); } @@ -137,6 +139,7 @@ public class AuthorizationApiController { * @param authorizationNo 인가 번호 */ @DeleteMapping("/api/v1/authorizations/{authorizationNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable Integer authorizationNo) { authorizationService.delete(authorizationNo); } diff --git a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiController.java b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiController.java index 73aff61..aeb4632 100644 --- a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiController.java +++ b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiController.java @@ -8,6 +8,7 @@ import org.egovframe.cloud.userservice.api.role.dto.RoleAuthorizationSaveRequest import org.egovframe.cloud.userservice.service.role.RoleAuthorizationService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; @@ -59,6 +60,7 @@ public class RoleAuthorizationApiController { * @return List 등록한 권한 인가 목록 응답 DTO */ @PostMapping("/api/v1/role-authorizations") + @ResponseStatus(HttpStatus.CREATED) public List save(@RequestBody @Valid List requestDtoList) { return roleAuthorizationService.save(requestDtoList); } @@ -69,6 +71,7 @@ public class RoleAuthorizationApiController { * @param requestDtoList 권한 인가 삭제 요청 DTO List */ @PutMapping("/api/v1/role-authorizations") + @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@RequestBody @Valid List requestDtoList) { roleAuthorizationService.delete(requestDtoList); } diff --git a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/user/UserApiController.java b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/user/UserApiController.java index a20a647..99aa722 100644 --- a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/user/UserApiController.java +++ b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/api/user/UserApiController.java @@ -11,6 +11,7 @@ import org.springframework.core.env.Environment; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; @@ -72,6 +73,7 @@ public class UserApiController { * @return */ @PostMapping("/api/v1/users") + @ResponseStatus(HttpStatus.CREATED) public Long save(@RequestBody @Valid UserSaveRequestDto requestDto) { return userService.save(requestDto); } @@ -153,6 +155,7 @@ public class UserApiController { * @return Boolean 성공 여부 */ @PostMapping("/api/v1/users/join") + @ResponseStatus(HttpStatus.CREATED) public Boolean join(@RequestBody @Valid UserJoinRequestDto requestDto) { return userService.join(requestDto); } diff --git a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/domain/role/Authorization.java b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/domain/role/Authorization.java index 9220be3..ff1cfd5 100644 --- a/backend/user-service/src/main/java/org/egovframe/cloud/userservice/domain/role/Authorization.java +++ b/backend/user-service/src/main/java/org/egovframe/cloud/userservice/domain/role/Authorization.java @@ -90,7 +90,7 @@ public class Authorization extends BaseEntity { this.urlPatternValue = urlPatternValue; this.httpMethodCode = httpMethodCode; this.sortSeq = sortSeq; - this.roleAuthorizations = new ArrayList<>(roleAuthorizations); + this.roleAuthorizations = roleAuthorizations == null ? null : new ArrayList<>(roleAuthorizations); } /** diff --git a/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiControllerTest.java b/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiControllerTest.java index fbfdfd1..f19e30c 100644 --- a/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiControllerTest.java +++ b/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/AuthorizationApiControllerTest.java @@ -245,7 +245,7 @@ class AuthorizationApiControllerTest { // then resultActions .andDo(MockMvcResultHandlers.print()) - .andExpect(MockMvcResultMatchers.status().isOk()); + .andExpect(MockMvcResultMatchers.status().isCreated()); String responseData = resultActions.andReturn().getResponse().getContentAsString(); JSONObject jsonObject = new JSONObject(responseData); @@ -333,7 +333,7 @@ class AuthorizationApiControllerTest { // then resultActions .andDo(MockMvcResultHandlers.print()) - .andExpect(MockMvcResultMatchers.status().isOk()); + .andExpect(MockMvcResultMatchers.status().isNoContent()); Optional authorization = selectData(authorizationNo); assertThat(authorization).isNotPresent(); diff --git a/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiControllerTest.java b/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiControllerTest.java index 42d3ba2..883ec9b 100644 --- a/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiControllerTest.java +++ b/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/role/RoleAuthorizationApiControllerTest.java @@ -228,7 +228,7 @@ class RoleAuthorizationApiControllerTest { // then resultActions .andDo(MockMvcResultHandlers.print()) - .andExpect(MockMvcResultMatchers.status().isOk()); + .andExpect(MockMvcResultMatchers.status().isCreated()); String responseData = resultActions.andReturn().getResponse().getContentAsString(); JSONArray jsonArray = new JSONArray(responseData); @@ -282,7 +282,7 @@ class RoleAuthorizationApiControllerTest { // then resultActions .andDo(MockMvcResultHandlers.print()) - .andExpect(MockMvcResultMatchers.status().isOk()); + .andExpect(MockMvcResultMatchers.status().isNoContent()); List entityList = roleAuthorizationRepository.findAll(Sort.by(Sort.Direction.ASC, "roleAuthorizationId.authorizationNo")); for (int i = entityList.size() - 1; i >= 0; i--) { diff --git a/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/user/UserApiControllerTest.java b/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/user/UserApiControllerTest.java index 3036ca1..a7dd167 100644 --- a/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/user/UserApiControllerTest.java +++ b/backend/user-service/src/test/java/org/egovframe/cloud/userservice/api/user/UserApiControllerTest.java @@ -324,7 +324,7 @@ class UserApiControllerTest { // then resultActions .andDo(MockMvcResultHandlers.print()) - .andExpect(MockMvcResultMatchers.status().isOk()) + .andExpect(MockMvcResultMatchers.status().isCreated()) .andExpect(MockMvcResultMatchers.content().string("true")); // userRepository.findByEmail("test_join" + TEST_COM).ifPresent(u -> deleteUser(u.getId()));