Skip to content
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

[2주차] 기본 과제 #3

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

[2주차] 기본 과제 #3

wants to merge 2 commits into from

Conversation

Jin409
Copy link
Member

@Jin409 Jin409 commented Apr 12, 2023

📝 관련 이슈

closed #6

👩🏻‍💻 내용

  • 2주차 세미나 진행 시 했던 과제입니다
  • 게시글의 생성, 조회, 검색 기능을 구현했습니다.

😸 중점을 둔 부분

  • 필요한 데이터만을 응답으로 넘기기 위하여 ResponseDto를 사용했습니다.
  • 잘못된 값을 조회하고자 하는 경우 IllegalArgumentException 이 던져지도록 했습니다.

중간에 커밋이 꼬여서 다시 올렸어요 ㅠㅡㅠ

@Jin409 Jin409 changed the title 2주차 세미나 기본 과제 기본 세팅 2주차 세미나 기본 과제 Apr 12, 2023
@Jin409 Jin409 self-assigned this Apr 12, 2023
@euije
Copy link

euije commented Apr 12, 2023

과제 하느라 고생 많으셨습니다~! 🙌

Post post = postList.get((int) (postId - 1));
return new ResponseDto(post);
} catch (Exception e) {
throw new IllegalArgumentException("해당 아이디의 게시글이 존재하지 않습니다.");
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Node 환경에서는 Runtime-Error 발생 시, process가 종료되어 Exception throwing을 지양하는데,
    Spring은 이와 다르게 Servlet Layer에서 처리해주어서 process가 종료되지 않네요!
    이를 가만하면, try-catch를 통한 에러 처리를 지향하는 Java 진영에서의 입장에서 좋은 코드인 것 같습니다!

스크린샷 2023-04-13 오전 3 45 28
스크린샷 2023-04-13 오전 3 45 33

return new ResponseDto(post);
}
}
throw new IllegalArgumentException("해당 제목의 게시글이 존재하지 않습니다.");
Copy link

@euije euije Apr 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Exception 중, IllegalArgumentException를 선택하신 이유가 궁금합니다
    Java에서 코딩할 때, Exception 클래스를 선택하는 기준이 있는지 궁금합니다!

바로 전자의 리뷰에서 ArrayList<T>.get() 메소드는 비정상적인 index 입력시,
IndexOutOfBoundsException를 throw 하는데, 동일한 exception을 발생시키는 건 어떻게 생각하시나요?
(제가 잘 몰라서 질문 던집니다.. ㅎ)

        try {
           ...
        } catch (Exception e) {
            throw e;
        }

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

단순히 이제까지 Dto 단에서 @Valid 어노테이션을 이용해서 오류를 핸들링할 때 항상 IllegalArgumentException 가 발생해서 단순히 이번에도 그렇게 처리했던건데 제가 미처 생각지 못한 부분이네요!! 일관성 있게 해당 에러를 던지는 것으로 수정해볼게요 감사합니당

@Jin409 Jin409 changed the title 2주차 세미나 기본 과제 [2주차] 기본 과제 Apr 14, 2023
private final UserService userService;

@PostMapping("/user")
public String register(@RequestBody final RequestDto request) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RequestDto를 받아올 때 final 키워드와 함께 받아오는 부분 좋아보이네요 참고하겠습니다~!!

import lombok.ToString;
import sopt.org.SecondSeminar.domain.post.Post;

@ToString

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tostring 어노테이션도 있군요! 배워갑니다👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[2주차] 기본 과제
4 participants