Skip to content

Conversation

@eighttontruck8
Copy link

백엔드 비기너 5주차 과제 PR 드립니다.

어노테이션에 대해서는 공식 문서를 최대한 활용해서 공부했고,
CRUD API 중 GET이 가장 인상적이었습니다.

200 OK + empty Body 를 반환하는게 맞는지,
404 NOT FOUND를 반환하는게 맞는지는
조금 더 생각해볼 부분인 것 같습니다.

Copy link

@asa9874 asa9874 left a comment

Choose a reason for hiding this comment

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

200 OK + empty Body 를 반환하는게 맞는지,
404 NOT FOUND를 반환하는게 맞는지는
조금 더 생각해볼 부분인 것 같습니다.
해당 부분에 대해 저의 개인적인 의견을 공유드립니다

단건 조회이지만 리소스가 존재하지 않을때 -> 404 NotFound

리스트 조회지만 리소스가 존재하지 않을때 -> 200 + [] (빈 컬렉션을 찾았다는 의미의 200)

삭제와 같이 별도로 반환할 컨텐츠가 존재하지않을때 -> 204 No content

해당 부분에 대해서는 저도 예전에 조사했을때 의견이 많이 갈리는것같아서 정확하게 뭐가 맞다라고는 말씀드리기 어려울거같네요

}
// Create (POST)
@PostMapping
public ResponseEntity<Article> create(@RequestBody Article article) {
Copy link

Choose a reason for hiding this comment

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

현재 방식에서는 Article 을 Body로 받고있는데, DTO에 대해 알아보시면 좋을거같아요.
DTO를 활용하면 지금처럼 Create할때 불필요한 id를 입력받지않을수있어요!

Copy link
Author

Choose a reason for hiding this comment

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

해당 사항 반영해 추가 리팩토링 진행하겠습니다. 감사합니다.

private Map<Integer, Article> articles = new HashMap<>();
private int nextId = 1;

static class Article {
Copy link

Choose a reason for hiding this comment

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

Article 내부의 변수는 private로 선언하고 getter, setter을 활용해보시면 좋을거같아요

Copy link
Author

Choose a reason for hiding this comment

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

안녕하세요.
피드백 반영하여 리팩토링 진행했습니다. 감사합니다.

@eighttontruck8 eighttontruck8 changed the title [윤해인_BackEnd] 5주차 과제 제출합니다. [윤해인_BackEnd] 6주차 과제 제출합니다. Nov 24, 2025
@eighttontruck8
Copy link
Author

eighttontruck8 commented Nov 24, 2025

6주차 과제 완료했습니다. 새롭고 낯선 개념들이 한꺼번에 접해서 꽤나 혼잡해서 각 파일이 무슨 역할을 맡아야하는지, 그로 인해 어떤 함수를 갖고있어야 하는지를 파악해나가는데 시간이 좀 걸렸습니다. 진행하며 생긴궁금한 점은

  1. 공유해주신 참고자료를 참고하여 ArticleRepository 인터페이스를 만들고, 실제 구현부인 MemoryArticleRepository를 만들어 implement를 통해 클래스를 만드는 방법을 따라해보았습니다. 실제로도 직접 만드는 것보다 권장되나요? 개인적으로 인터페이스는 가이드라인 역할 같다고 생각하는데, 안정적이라고 평가해도 되는지 궁금합니다.
  2. 예시 데이터를 Dataloader.java를 통해 주입하였는데 이 방식이 맞는건지 잘 모르겠습니다.
  3. CRUD API 중, 예를들어 READ 역할을 하는 함수를 Service에서는 getAll()로, Repository에서는 findAll()으로 바꾸어서 작성하는 것이 관례인 것 같아 그리 진행했습니다만... 작성하면서 많이 헷갈린 부분입니다. 파일마다 함수 명을 동일하게 쓰면 안 되는 건가요?

그 밖에도 수정할 부분/생각해볼 부분이 있다면 말씀해주세요. 감사합니다.

@eighttontruck8
Copy link
Author

백엔드 비기너 10주차 과제 PR 입니다.

처음에는 영속성 컨텍스트와 부모-자식, 연관관계가 많이 헷갈렸는데 직접 실습해보면서
연관관계는 객체들 간의 관계(참조에 관한),
부모-자식은 연관관계 중 생명 주기에 관한 개념,
영속성 컨텍스트는 JPA가 관리하며 cascade와 orphanRemoval이 실행됨을 알 수 있었습니다.

@eighttontruck8 eighttontruck8 changed the title [윤해인_BackEnd] 8주차 과제 제출합니다. [윤해인_BackEnd] 10주차 과제 제출합니다. Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants