을 계산 : "EUR"을 "CNY"양 "으로 변환 : 편안하고 디자인, 같은 작업을 설계하는 방법을
번역 변환
- 계산을 100 "입니다.
이가
/convert?from=EUR&to=CNY&amount=100
RESTful입니까? 편안하고 하지입니다/convert?from=EUR&to=CNY&amount=100
에 아무것도 없다
을 계산 : "EUR"을 "CNY"양 "으로 변환 : 편안하고 디자인, 같은 작업을 설계하는 방법을
번역 변환
이가 /convert?from=EUR&to=CNY&amount=100
RESTful입니까? 편안하고 하지입니다
/convert?from=EUR&to=CNY&amount=100
에 아무것도 없다
. 이것이 REST Resource를 식별한다고 말할 수 있습니다.
하지만 은 HTTP를 통한 RPC (원격 프로 시저 호출)와 같이처럼 보입니다. 통화 변환만큼 간단하지 않은 경우 RESful이 아닌 시스템으로 연결됩니다.
항상 물어보십시오. 내 리소스는 무엇입니까?
한 가지 대답은 다음과 같습니다. 자원은 결과이며 두 통화 및 금액으로 식별됩니다. 당신이 경로가 nown (conversion
)가 아니라 동사 (convert
) 인 것을
/conversion?from=EUR&to=CNY&amount=100
주를 사용하는 경우 그 다음 더 편안하고 보일 것이다. 일반적으로 nown으로 REST Resource의 이름을 지정할 수 있다면 올바른 경로에있는 것입니다.
식별 비트를 쿼리 매개 변수 (?from=EUR&to=CNY&amount=100
) 또는 경로에 넣으면 문제가됩니다. 세 가지 경로 매개 변수를 사용하여
/conversion/EUR/100/CNY
사용할 수 있습니다
/conversion/{FROM}/{AMOUNT}/{TO}
귀하의 API 나에게 잘 보이는 변환 :
/convert?from=EUR&to=CNY&amount=100
루츠 혼의 answer도 좋은 대안을 제공합니다.
당신의 API가 복잡하거나 긴 작업을 처리 할 수있는 경우는 POST를 사용하는 것이 좋습니다 수 있습니다 :
/calculate
당신은 요청의 계산을 포함 할 수 있습니다. 이렇게하면 URL에 긴 계산을 포함하지 않아도됩니다.
당신의 API는 다음 간단한 작업을 처리하는 경우에 당신은이 디자인 사용할 수 있습니다 번역
번역 등
/calculate/subtract
/calculate/multiply
/calculate/divide
subtract
에 대한 유사/calculate/add/?param1=value1¶m2=value2
, multiply
, divide
을, Google 번역사의 API 디자인이 마음에 들었습니다.
/translate/{source}/{target}/value
여기에서 source
은 원어 (예 : EN)이고 target
은 타겟 언어입니다 (예 : HI).
결국 API 디자인이 선택됩니다.
'계산에 요청을 포함 할 수 있습니다'. 그것은 REST가 아닌 RPC입니다. 이 경우 REST 리소스는 무엇입니까? –