2016-11-29 5 views

답변

4

. 이것이 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} 
0

귀하의 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&param2=value2 

, multiply, divide을, Google 번역사의 API 디자인이 마음에 들었습니다.

/translate/{source}/{target}/value 

여기에서 source은 원어 (예 : EN)이고 target은 타겟 언어입니다 (예 : HI).

결국 API 디자인이 선택됩니다.

+0

'계산에 요청을 포함 할 수 있습니다'. 그것은 REST가 아닌 RPC입니다. 이 경우 REST 리소스는 무엇입니까? –