diff --git a/src/main/java/com/moongeul/backend/api/post/controller/PostController.java b/src/main/java/com/moongeul/backend/api/post/controller/PostController.java index 5fa18f7..7c54193 100644 --- a/src/main/java/com/moongeul/backend/api/post/controller/PostController.java +++ b/src/main/java/com/moongeul/backend/api/post/controller/PostController.java @@ -27,8 +27,8 @@ public class PostController { @Operation( summary = "글쓰기 API", description = "기록(게시글)을 작성하는 글쓰기 API 입니다." + - "
필수: isbn, readDate / 선택: rating(default = 5.0), page(default = 300), content, quotes" + - "
선택 요소의 경우 입력되지 않았을 때 'null'로 전달 바랍니다." + + "

드롭박스 - 선택: postVisibility(default = PUBLIC), categoryId(default = 0(전체보기)) -> 입력되지 않았을 경우, 각각의 기본값(postVisibility: PUBLIC, categoryId: 0)으로 전달 바랍니다." + + "
필수: isbn, readDate / 선택: rating(default = 5.0), page(default = 300), content, quotes -> 입력되지 않았을 경우, 'null'로 전달 바랍니다." + "

[enum] postVisibility -> 전체 공개 : PUBLIC, 팔로워 공개 : FOLLOWERS, 나만보기 : PRIVATE" ) @ApiResponses({ diff --git a/src/main/java/com/moongeul/backend/api/post/dto/PostRequestDTO.java b/src/main/java/com/moongeul/backend/api/post/dto/PostRequestDTO.java index efb480f..c1abc57 100644 --- a/src/main/java/com/moongeul/backend/api/post/dto/PostRequestDTO.java +++ b/src/main/java/com/moongeul/backend/api/post/dto/PostRequestDTO.java @@ -20,11 +20,8 @@ @AllArgsConstructor public class PostRequestDTO { - /* 드롭다운 - 필수 입력*/ - @NotNull(message = "공개여부는 필수입니다") + /* 드롭다운 - 선택 입력*/ private PostVisibility postVisibility; // 공개 여부 - - @NotNull(message = "카테고리는 필수입니다.") private Long categoryId; // 카테고리 번호 /* 필수 입력 */ diff --git a/src/main/java/com/moongeul/backend/api/post/entity/Post.java b/src/main/java/com/moongeul/backend/api/post/entity/Post.java index c1db527..ff03275 100644 --- a/src/main/java/com/moongeul/backend/api/post/entity/Post.java +++ b/src/main/java/com/moongeul/backend/api/post/entity/Post.java @@ -29,7 +29,7 @@ public class Post extends BaseTimeEntity { private PostVisibility postVisibility; // 공개여부 @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "category_id", nullable = false) + @JoinColumn(name = "category_id", nullable = true) private Category category; @ManyToOne(fetch = FetchType.LAZY) diff --git a/src/main/java/com/moongeul/backend/api/post/service/PostService.java b/src/main/java/com/moongeul/backend/api/post/service/PostService.java index 879baeb..42bfa28 100644 --- a/src/main/java/com/moongeul/backend/api/post/service/PostService.java +++ b/src/main/java/com/moongeul/backend/api/post/service/PostService.java @@ -41,7 +41,11 @@ public PostIdResponseDTO createPost(PostRequestDTO postRequestDTO, String email) Member member = getMemberByEmail(email); Book book = getBook(postRequestDTO.getIsbn()); - Category category = getCategory(postRequestDTO.getCategoryId()); + + Category category = null; + if(postRequestDTO.getCategoryId() != 0){ + category = getCategory(postRequestDTO.getCategoryId()); + } Post newPost = postRequestDTO.toEntity(category, member, book); Post savedPost = postRepository.save(newPost);