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

박세찬 API 구현 코드입니다! #10

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

Conversation

Ssechan
Copy link

@Ssechan Ssechan commented Jun 5, 2024

UserController
Get /User : 유저 조회 (Feat#0 Create User)
Post /User : 유저 등록 (Feat#1 User Check)

QuizController
Get /Quiz : 퀴즈 요청 (Feat#3 Get Quiz)
Post /Quiz : 퀴즈 정답 제출 및 결과 응답 (Feat#4 Quiz response)

@Ssechan
Copy link
Author

Ssechan commented Jun 5, 2024

Postman 요청, 응답 결과와 동작 원리 노션 페이지입니다!
https://www.notion.so/API-13b4f57464b846f6829e55415a4d88e5?pvs=4

Copy link
Contributor

@coke98 coke98 left a comment

Choose a reason for hiding this comment

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

LGTM~! 고생 많으셨습니다 특히 노션에 정리해주신 파트 보면서 세찬님께서 많은 고민들 하신게 보여 좋았어요. 문제가 되었던 점을 기록해두신 점이 너무 좋네요 다음 과제도 화이팅입니다!

public Quiz getQuiz() {
return quiz;
}
@PostMapping
Copy link
Contributor

Choose a reason for hiding this comment

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

현재는 url만 봤을때 퀴즈를 만드는 걸로도 해석될 수 있을 것 같아요~ 도메인 내에 Url들이 많아지기 시작하면, 명확히 구분해야할 필요성이 높아지곤 합니다.

post /quiz/submission 과 같이 어떤 자원을 Post하는지 정확히 명시하기위해 고민해본다면 좀 더 restful한 url 네이밍으로 협업이 가능할 수도 있을 것 같아요 :)

users.add(new User(request.getName(), request.getAge()));
}

@GetMapping("/User")
Copy link
Contributor

Choose a reason for hiding this comment

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

모든 유저를 가져온다면 /users가 좀 더 명확하지 않을까 싶네요. 협업하는 프론트 개발자 입장에서는 특정 유저 정보를 가져오는 것으로 이해할 수 있을 것 같아요. 추가로 소문자를 사용하는 것이 네이밍 원칙입니답

public class QuizSubmission {
private String selectedAnswer;

public QuizSubmission(){}
Copy link
Contributor

Choose a reason for hiding this comment

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

바인딩을 위해서 기본생성자를 필요로 하는데요, 원래는 자동 생성이 되지만,,, 이미 다른 생성자가 있다면 세찬님처럼 기본생성자를 명시하지 않는 이상 생성이 되지 않습니다. 이 문제도 노션에 작성이 되어있어 읽으면서 열심히 하셨다고 생각이 들었어요! 😄 LGTM

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