2016-11-29 2 views

答えて

4

ないのRESTfulです

/convert?from=EUR&to=CNY&amount=100 

では何もありません。これにより、RESTリソースが識別されます。

しかし、それは、通貨換算のように単純ではない場合には、RESfulないシステムにつながる、HTTPを経由したRPC(リモートプロシージャコール)などの見えます。

常に自分自身に質問してください:自分のリソースは何ですか?

1つの答えは次のとおりです。リソースは2つの通貨と金額で識別される結果の変換です。あなたはパスがnown(conversion)、ない動詞(convert)であることを

/conversion?from=EUR&to=CNY&amount=100 

注意を使用している場合、それはより多くのRESTfulになります。一般的に、nownを指定してRESTリソースに名前を付けることができれば、正しいパスにいます。

識別ビットをクエリパラメータ(?from=EUR&to=CNY&amount=100)またはパスに入れると味わいがあります。次の3つのパスパラメータを使用して

/conversion/EUR/100/CNY 

使用することができます

/conversion/{FROM}/{AMOUNT}/{TO} 
0

あなたのAPIは、私には正常に見える変換:

/convert?from=EUR&to=CNY&amount=100 

ルッツホーンのanswerも良い代替を提供します。

計算

あなたのAPIが複雑で長い操作を処理する必要がある場合、POSTを使用するためには良い考えかもしれません:

/calculate 

あなたが要求して計算を含めることができます。これにより、長い計算をURLに含める手間が省けます。

あなたのAPIは、あなたがこのデザインを使用することができ、簡単な操作を処理する必要がある場合:subtractmultiplydivideのために同様に

/calculate/add/?param1=value1&param2=value2 

を、など

/calculate/subtract 
/calculate/multiply 
/calculate/divide 

翻訳について

を翻訳Google翻訳のAPIデザインが好きです:

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

ここでは、sourceがあなたのソース言語(EN)で、targetがあなたのターゲット言語です(HIなど)。

最終的に、APIデザインが選択されます。

+0

'リクエストに計算を含めることができます'。それはRPCであり、RESTではありません。この場合、RESTリソースとは何ですか? –

関連する問題