강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

SOA vs. MSA

Rest Api에서 4가지 메서드는 url마다 필수로 구현해야 할까요?

작성

·

323

0

예를들어 비밀번호 변경을 요청하는 end point라면 post 메서드 url만 지원하는 것이 적절합니다.

그렇다면 get put post delete 메서드에 해당하는 핸들러를 모두 컨트롤러에 구현하지만 지원하지 않는 메서드에 대해선 컨트롤러 내부에서 익셉션을 발생시켜야할까요?

아니면 post 메서드 핸들러만 컨트롤러에 구현하고 advice를 이용해서 익셉션을 처리해야 할까요?

문서화까지 고려한다면 어느 쪽을 선택하는 것이 더 restful한 선택인가요? 

답변 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

GET/POST/PUT/DELETE를 모두 구현하지만, 지원하지 않도록 하신다는 것이 어떤 의미에서 필요한건지는 잘 모르겠지만, 요구사항 및 문서화를 위해 필요하신 거라면, 반환 값을 405으로 해서 처리하거나, 말씀하신것처럼 AOP로 처리해서 걸려내는 것도 방법일거 같습니다. 다만 반환 처리 코드가 200, 405, 500 어떤 것으로 갈것인지에 따라서 처리되는 위치가 달라질 것 같습니다.

- 200으로 하면서, 에러 메시지 전달

- 405으로 처리

- 500으로 하면서, 예외 전달

클라이언트에서 Response code를 어떻게 처리하실에 따라서 결정하시면 될 것 같습니다.

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기