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);