Closed halucinor closed 1 year ago
In GitLab by @Luke on Jan 11, 2023, 13:20
Commented on src/main/java/com/gabia/evoting/web/AgendaController.java line 58
REST API에선 일반적으로 POST 혹은 PUT으로 자원이 새로 생성된 경우엔 201 Created 상태를 리턴해줍니다. https://developer.mozilla.org/ko/docs/Web/HTTP/Status <- 이쪽 문서를 참고해보시면 좋을 것 같습니다. 또한 http 코드를 문자열로 하드코딩하기보단 스프링에 내장된 HttpStatus를 활용해보시는 것도 좋을것 같네요.
In GitLab by @Charlie on Jan 11, 2023, 13:30
Commented on src/main/java/com/gabia/evoting/web/AgendaController.java line 39
Restful API 에서 말하는 collection 과 document(또는 element, 또는 resource) 는 무엇인가요? 작성하신 URL 들이 설계 기준에 맞는지 검토해보시면 좋겠습니다.
GET /agendas
GET /agenda/{id}
POST /agenda
PATCH /agenda
In GitLab by @Pablo on Jan 11, 2023, 20:34
Commented on src/main/java/com/gabia/evoting/service/VoteService.java line 33
~QUESTION
agenda가 존재하지 않아 IllegalArgumentException
이 발생되었을 때 API는 어떻게 응답되나요?
의도한 API 응답 구조가 맞으신가요?
In GitLab by @Pablo on Jan 11, 2023, 20:47
Commented on src/main/java/com/gabia/evoting/web/VoteController.java line 38
~QUESTION
투표 실패 케이스의 응답 또한 Http 상태코드 201
응답되도록 하셨는데, 의도한 부분이 맞으신가요?
API 응답에서 의도한 기능이 정상적으로 수행되지 못하고 실패
되었을 때,
올바른 Http 상태코드를 확인해보시면 좋을 것 같습니다.
상태코드 확인해서 수정해 보겠습니다!
changed this line in version 2 of the diff
changed this line in version 2 of the diff
GET /agendas : agenda collection 조회
GET /agenda/{id} -> /agendas/{id} : agenda element 조회
POST /agenda : agenda 생성
PATCH /agenda -> /agendas/{id} : agenda 수정
collection 과 document의 차이를 염두해서 URL 설계를 다시 해보겠습니다 :) 감사합니다
아직 IllegalArgumentException
이 발생할 경우에 대한 예외 로직을 아직 처리하지 않았습니다.
HTTP 상태코드에 따른 예외처리 작업을 수행하기 위해 @ExceptionHandler
와 ResponseEntity
를 사용해 예외처리를 구현할 계획입니다!
실패 케이스에 대한 Http 상태코드는 아직 구현하지 못했습니다. 다음의 투표 케이스에 따라 HTTP 상태코드를 리턴 하고자합니다.
In GitLab by @Pablo on Jan 12, 2023, 13:16
Commented on src/main/java/com/gabia/evoting/web/VoteController.java line 38
~CHECK
여러 실패 케이스에 대한 HTTP 상태코드도 같이 참고해보시면 좋을 것 같습니다.
사용자 입력 실패(투표 초과, 존재하지 않는 안건 등...)
위 케이스의 경우 BadRequest
케이스로 간주 할 수 있을 것 같네요.
In GitLab by @Pablo on Jan 12, 2023, 13:16
Commented on src/main/java/com/gabia/evoting/service/VoteService.java line 33
~CHECK
In GitLab by @Charlie on Jan 12, 2023, 13:22
Commented on src/main/java/com/gabia/evoting/web/AgendaController.java line 39
넵. 확인했습니다
In GitLab by @Pablo on Jan 12, 2023, 15:12
resolved all threads
Merges feature/vote -> dev
@mentor/mentor_2023.01
📝 Description
💻 How To Test
TODO [ ] 테스트 코드 작성 [ ] 동시성 테스트
💽 Commits
🖼 결과
❓ Check