작성
·
275
4
안녕하세요 ㅎㅎ
강의를 보다가 또 다른 질문이 생겨서 이렇게 질문 남깁니다.ㅎㅎ
1. 유저A 가 유저 B의 order id를 요청하는 경우
URL-GET orders/2-(유저 B order id)
403,404? 어떤 상태 코드를 실무에서는 많이 쓰고 이유가 있을까요?
2. PRG
POST /orders -주문 API
주문생성을 예로 들어 PRG를 중복 주문을 막기 위해 쓰신다고 하셨는데 혹시 그렇게 되면 주문생성 API 사용성이 떨어지는 문제는 없나요?
가령 모바일에서도 해당 API를 사용한다든지, 여러 클라이언트(모바일, 웹)등 에서 redirect 하려는 페이지가 다르다든지..
차라리 서버에서 중복을 잘 막고 나머지는 클라이언트 처리하는 방식은 실무에서 자주 쓰는 방법은 아닌가요?
이번에도 좋은 강의 감사합니다. ㅎ
답변 2
8
안녕하세요. asdkfur님
1. 유저A 가 유저 B의 order id를 요청하는 경우
이 경우 403을 사용하기도 하고, 404를 사용하기도 합니다. 이 부분은 딱 정답이 없습니다. (403으로 명확하게 리소스는 있지만 인가 문제가 있다고 명확하게 알리고 싶으면 403을 사용하시면 되고, 다른 사용자는 완전히 리소스 자체가 없다고 인지하게 만들고 싶으면 404를 사용하면 됩니다.)
2. PRG
네 이 방법을 사용해도 서버에서 중복 자체는 당연히 막도록 설계해야 합니다. 그리고 이상적으로는 같은 API를 사용하는게 좋겠지만, 보통 웹 HTML을 제공할 때와 모바일 API를 제공할 때는 서로 다른 API를 제공합니다. 디테일하게 들어가면 조금씩 차이가 나기 때문에 딱 맞추기가 쉽지 않습니다. 웹 브라우저에서 처리할 때는 이 방법을 주로 사용합니다.
감사합니다.
1