From 6d3262c4f90c5ec454a275aa57187c6cf8e72559 Mon Sep 17 00:00:00 2001 From: huouvcti Date: Wed, 4 Jun 2025 10:13:47 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=A0=84=EC=B2=B4=20api=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=ED=9B=84=20=EC=97=90=EB=9F=AC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feeda/domain/comment/controller/CommentController.java | 6 +++--- .../feeda/domain/post/controller/PostController.java | 3 ++- .../com/example/feeda/domain/post/dto/PostRequestDto.java | 7 +++++-- .../java/com/example/feeda/domain/post/entity/Post.java | 6 +----- .../feeda/domain/profile/controller/ProfileController.java | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/example/feeda/domain/comment/controller/CommentController.java b/src/main/java/com/example/feeda/domain/comment/controller/CommentController.java index ce775f7..b00ac8f 100644 --- a/src/main/java/com/example/feeda/domain/comment/controller/CommentController.java +++ b/src/main/java/com/example/feeda/domain/comment/controller/CommentController.java @@ -27,11 +27,11 @@ public class CommentController { private final CommentService commentService; // 댓글 작성 - @PostMapping("/comments/posts/{postId}") + @PostMapping("/comments/post/{postId}") public ResponseEntity createComment( @PathVariable Long postId, @AuthenticationPrincipal JwtPayload jwtPayload, - @RequestBody CreateCommentRequest request + @RequestBody @Valid CreateCommentRequest request ) { Long profileId = jwtPayload.getProfileId(); CommentResponse response = commentService.createComment(postId, profileId, request); @@ -39,7 +39,7 @@ public ResponseEntity createComment( } // 댓글 전체 조회 (게시글 기준, 정렬/필터 가능) - @GetMapping("/comments/posts/{postId}") + @GetMapping("/comments/post/{postId}") public ResponseEntity> getCommentsByPostId( @PathVariable Long postId, @RequestParam(defaultValue = "latest") String sort // latest 또는 oldest diff --git a/src/main/java/com/example/feeda/domain/post/controller/PostController.java b/src/main/java/com/example/feeda/domain/post/controller/PostController.java index db0f727..9182ae4 100644 --- a/src/main/java/com/example/feeda/domain/post/controller/PostController.java +++ b/src/main/java/com/example/feeda/domain/post/controller/PostController.java @@ -5,6 +5,7 @@ import com.example.feeda.domain.post.dto.PostResponseDto; import com.example.feeda.domain.post.service.PostService; import com.example.feeda.security.jwt.JwtPayload; +import jakarta.validation.Valid; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; import java.time.LocalDate; @@ -38,7 +39,7 @@ public class PostController { private final PostService postService; @PostMapping - public ResponseEntity createPost(@RequestBody PostRequestDto requestDto, + public ResponseEntity createPost(@RequestBody @Valid PostRequestDto requestDto, @AuthenticationPrincipal JwtPayload jwtPayload) { PostResponseDto post = postService.createPost(requestDto, jwtPayload); diff --git a/src/main/java/com/example/feeda/domain/post/dto/PostRequestDto.java b/src/main/java/com/example/feeda/domain/post/dto/PostRequestDto.java index 0d081e9..17824e0 100644 --- a/src/main/java/com/example/feeda/domain/post/dto/PostRequestDto.java +++ b/src/main/java/com/example/feeda/domain/post/dto/PostRequestDto.java @@ -1,16 +1,19 @@ package com.example.feeda.domain.post.dto; -import jakarta.persistence.Column; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import lombok.Getter; -import lombok.RequiredArgsConstructor; @Getter public class PostRequestDto { + @NotNull(message = "제목은 필수 항목입니다.") private final String title; + @NotNull(message = "내용은 필수 항목입니다.") private final String content; + @Size(max = 50, message = "카테고리는 50자 이하로 입력하세요.") private final String category; public PostRequestDto(String title, String content, String category) { diff --git a/src/main/java/com/example/feeda/domain/post/entity/Post.java b/src/main/java/com/example/feeda/domain/post/entity/Post.java index 5fe3393..71592e2 100644 --- a/src/main/java/com/example/feeda/domain/post/entity/Post.java +++ b/src/main/java/com/example/feeda/domain/post/entity/Post.java @@ -9,8 +9,6 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; import lombok.Getter; @@ -23,15 +21,12 @@ public class Post extends BaseEntity { @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; - @NotNull(message = "제목은 필수 항목입니다.") @Column(length = 100, nullable = false) private String title; - @NotNull(message = "내용은 필수 항목입니다.") @Column(columnDefinition = "longtext", nullable = false) private String content; - @Size(max = 50, message = "카테고리는 50자 이하로 입력하세요.") @Column(length = 50) private String category; @@ -47,6 +42,7 @@ public Post(String title, String content, String category, Profile profile) { } protected Post() { + super(); } public void update(String title, String content, String category) { diff --git a/src/main/java/com/example/feeda/domain/profile/controller/ProfileController.java b/src/main/java/com/example/feeda/domain/profile/controller/ProfileController.java index b134265..d67d55e 100644 --- a/src/main/java/com/example/feeda/domain/profile/controller/ProfileController.java +++ b/src/main/java/com/example/feeda/domain/profile/controller/ProfileController.java @@ -36,7 +36,7 @@ public ResponseEntity getProfile(@PathVari @GetMapping("/profiles") public ResponseEntity getProfiles( @RequestParam(required = false) String keyword, - @RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int size) { ProfileListResponseDto response = profileService.getProfiles(keyword, page, size);