Rest Api에서 4가지 메서드는 url마다 필수로 구현해야 할까요?
323
작성자 없음
작성한 질문수 0
예를들어 비밀번호 변경을 요청하는 end point라면 post 메서드 url만 지원하는 것이 적절합니다.
그렇다면 get put post delete 메서드에 해당하는 핸들러를 모두 컨트롤러에 구현하지만 지원하지 않는 메서드에 대해선 컨트롤러 내부에서 익셉션을 발생시켜야할까요?
아니면 post 메서드 핸들러만 컨트롤러에 구현하고 advice를 이용해서 익셉션을 처리해야 할까요?
문서화까지 고려한다면 어느 쪽을 선택하는 것이 더 restful한 선택인가요?
답변 1
1
안녕하세요, 이도원입니다.
GET/POST/PUT/DELETE를 모두 구현하지만, 지원하지 않도록 하신다는 것이 어떤 의미에서 필요한건지는 잘 모르겠지만, 요구사항 및 문서화를 위해 필요하신 거라면, 반환 값을 405으로 해서 처리하거나, 말씀하신것처럼 AOP로 처리해서 걸려내는 것도 방법일거 같습니다. 다만 반환 처리 코드가 200, 405, 500 어떤 것으로 갈것인지에 따라서 처리되는 위치가 달라질 것 같습니다.
- 200으로 하면서, 에러 메시지 전달
- 405으로 처리
- 500으로 하면서, 예외 전달
클라이언트에서 Response code를 어떻게 처리하실에 따라서 결정하시면 될 것 같습니다.
감사합니다.
kafka 업데이트 강의 듣고 시포요
0
79
1
강의 교안
0
64
1
마이크로서비스간 통신 시, 인증 처리
0
73
1
api gateway 에서 인증 처리
0
61
1
섹션 19 질문드립니다
0
48
1
강의 자료 업데이트
0
79
1
부하분산 강의 섹션
0
53
1
강의자료는 어디에서?
0
66
1
강의 자료는 어디서 다운 받을 수 있나요?
0
107
1
전체 사용자 조회시 오류
0
54
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
106
2
학습 방향
0
92
2
카프카 커넥터 사용 목적 문의
0
83
2
kafka 강의
0
102
2
서비스 디스커버리 종류
0
84
2
강의 자료에 대해서 궁금해요
0
109
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
85
2
Kafka Source Connect 버전 에러
0
80
2
소스커넥터는 사용안한 거 맞죠?
0
78
2
강의자료 업데이트 문의
0
92
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
53
1
강의 업데이트 계획이 궁금합니다.
0
106
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
157
2
어떤 것이 업데이트 된 건가요?
0
157
2





