API에 대해 REST URI를 정의하는 가장 좋은 방법이 무엇인지에 대해 의심 스럽습니다.두 개의 다른 매개 변수를 REST API에 전달하는 가장 좋은 해결책은 무엇입니까?
저는 상품의 세부 정보를 제공하는 API를 가지고 있습니다.
http://XXX.YYY.ZZZ.TTT:8280/commodity_details/1
commodity_details 내가 (상품 정보) 및 1를 얻기 위해 원하는 것을하는의 ID입니다 :
그래서 나는 내가 이 같은 요청을 GET 할 수 있다는 것을 알고 특정 상품. 적절한 REST URI 여야합니다.
http://XXX.YYY.ZZZ.TTT:8280/commodity_details/
내 POST 요청에이 같은 JSON 페이로드를 attacching :
좋아, 나는 또한 JSON 문서로 ID 매개 변수를 전달할 수 있다는 사실을 알고는 POST이 같은 요청을 doint :
{
"commodity_id": 1
}
가 나는 경우 단일 아마 첫 번째 버전 낫다 (퍼팅 매개 변수를 commodity_id 생각 URI에 필요한 ID), 맞습니까?
두 번째가 필요한 경우 어떻게됩니까? language_id 매개 변수는 무엇입니까? (내 API는 적절한 언어의 internazionalized 출력을 제공 할 수 있도록이 이 매개 변수를 LANGUAGE_ID도 받아야합니다. 그래서
을 내가 2 개 매개 변수를 전달해야합니다 (이 경우) 는을 commodity_id 및 는을 LANGUAGE_ID.
?{
"commodity_id": 1,
"language_id": 2
}
:이 경우
더 나은 모두 매개 변수를 포함하는 JSON 페이로드 이런 식으로 뭔가있는 POST 요청을 사용하는 것입니다
아니면이 시나리오에 적합한 URI 템플릿이 될 수 있습니까?
자신의 롤하지 마십시오 - ['동의-Language'] (HTTPS를 : // developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language). 일반적으로 URL에서 원하는 교차 절단 문제에 대해서는 [query string] (https://en.wikipedia.org/wiki/Query_string) -/commodity_details/1? language = 2'을 사용할 수 있습니다 – jonrsharpe
é가있는 매개 변수는 RESTful API를 구현하는 orrible이 아닙니다. 그리고 수락 언어는 어떻습니까? 그것은 deserved langunage를 선택하도록 설정할 수있는 헤더입니까? – AndreaNobili
1. 뭐라고 요? 2. MDN에 대한 링크를 제공 했습니까? – jonrsharpe