-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seminar/#7 #8
base: main
Are you sure you want to change the base?
Seminar/#7 #8
Conversation
"권한 있는 아이디를 제외하고 예외처리하는 부분" 혹시 이부분이 어떤 부분인지 알 수 있을까요? |
Post post = new Post(postCreateRequest.title(), postCreateRequest.content(),blog); | ||
post = postRepository.save(post); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
객체 생성할 때 정적 팩토리 메소드 패턴을 사용해 보는 것도 좋을것 같아요! 물론 지금은 간단해서 객체 생성에 추가적인 로직이 필요 없지만 그래도 미리 사용해 보면서 나중에 복잡한 로직에서 적용시켜보면 좋을 것 같아요!
또 post객체도 따로 사용되는 곳이 있는게 아니니 save안에 넣어서 불필요한 메모리 사용을 줄이는 것도 좋다고 하더라구여!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
과제하느라 수고하셨습니다 😄😄
private final BlogService blogService; | ||
public String create(Long blogId, PostCreateRequest postCreateRequest) { | ||
Blog blog = blogService.findById(blogId); | ||
Post post = new Post(postCreateRequest.title(), postCreateRequest.content(),blog); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Post post = Post.create(postCreateRequest, blog);
요기서 Post 클래스의 정적 팩토리 메서드를 호출하여 새로운 Post 객체를 생성할 수 있습니다 !!
post.title = title; | ||
post.content = content; | ||
return post; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public static Post create(Blog blog, PostCreateRequest postCreateRequest) {
return new Post(blog, postCreateRequest.content(), postCreateRequest.name());
}
민규님이 말씀한 것 처럼 이렇게 정적 팩토리 메서드를 사용해보는 것도 좋을 것 같아요 !!!
Blog blog = blogService.findById(blogId); | ||
Post post = new Post(postCreateRequest.title(), postCreateRequest.content(),blog); | ||
post = postRepository.save(post); | ||
return post.getId().toString(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return postRepository.save(new Post(postCreateRequest.title(), postCreateRequest.content(), blogService.findById(blogId))).getId().toString();
이렇게 하면 한 줄로 만들 수 있어 코드가 훨씬 간결해집니당
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
과제 수고하셨습니다!! 이미 좋은 리뷰가 많아서 구경하고 갑니다!! 😁😁
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
대한님 과제하느라 고생하셨습니다!
과제 깔끔하니 좋네요!! 앞으로도 더더욱 화이팅입니다!
겁내지 않고 도전하는 모습 항상 응원하겠습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
과제에 있었던 Post를 생성할 때 Blog와 Member의 권한 체크도 한번 진행해보는게 어떨까요? 좋은 코드를 남겨두고 가겠습니다!
이 주의 과제
블로그에 대해 글을 작성하는 POST API와, GET API를 구현
태스크
Post를 생성하는 API를 구현
사용자는 블로그 ID를 헤더를 통해 제공하고, Post의 내용은 Request Body를 통해 받음
Post 되는 객체에 대해 Request body Validation을 진행
Yangdaehan/week03/src/main/java/org/sopt/spring/controller/PostController.java
Lines 13 to 29 in e42cb1e
Post 생성
해당 블로그에 새로운 post를 생성 후 저장
Yangdaehan/week03/src/main/java/org/sopt/spring/service/PostService.java
Lines 10 to 22 in 62a4ffd
Post 생성 DTO
Yangdaehan/week03/src/main/java/org/sopt/spring/service/dto/PostCreateRequest.java
Lines 3 to 7 in 62a4ffd
Post 생성 메시지 추가
Yangdaehan/week03/src/main/java/org/sopt/spring/common/dto/SuccessMessage.java
Line 13 in 62a4ffd
Yangdaehan/week03/src/main/java/org/sopt/spring/repository/PostRepository.java
Lines 3 to 9 in 62a4ffd
요구사항 분석
API명세서
[POST] 블로그 글 작성
POST 블로그 글 작성
블로그에 글을 작성하는 API
Path Parameter
Request Header
Request Header
Request Body
Request Body
Response Body
Response
Response Body
|status|201 created|
구현 고민 사항
권한 있는 아이디를 제외하고 예외처리하는 부분을 구현하는데 어려움을 겪었습니다. 예외처리를 하는 부분을 좀 더 따로 공부해야할것 같습니다....
질문있어요!
인텔리제이가 문제인지 push가 잘 되지 않았습니다... 그래서 commit을 여러번 시도하느라 막 쳤는데 commit 내용이 성의 없게 올라가게 되었습니다. 양해 부탁드립니다...