を計算します。たとえば、 RESTfulな設計、などの操作を設計する方法
を翻訳
- 計算
- 変換
- を: "CNY" 量」に "EUR" から変換します100 "となる。
これは
/convert?from=EUR&to=CNY&amount=100
RESTfulですか?
を計算します。たとえば、 RESTfulな設計、などの操作を設計する方法
を翻訳
これは/convert?from=EUR&to=CNY&amount=100
RESTfulですか?
ないの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}
あなたのAPIは、私には正常に見える変換:
/convert?from=EUR&to=CNY&amount=100
ルッツホーンのanswerも良い代替を提供します。
あなたのAPIが複雑で長い操作を処理する必要がある場合、POSTを使用するためには良い考えかもしれません:
/calculate
あなたが要求して計算を含めることができます。これにより、長い計算をURLに含める手間が省けます。
あなたのAPIは、あなたがこのデザインを使用することができ、簡単な操作を処理する必要がある場合:subtract
、multiply
、divide
のために同様に
/calculate/add/?param1=value1¶m2=value2
を、など
/calculate/subtract
/calculate/multiply
/calculate/divide
を翻訳Google翻訳のAPIデザインが好きです:
/translate/{source}/{target}/value
ここでは、source
があなたのソース言語(EN)で、target
があなたのターゲット言語です(HIなど)。
最終的に、APIデザインが選択されます。
'リクエストに計算を含めることができます'。それはRPCであり、RESTではありません。この場合、RESTリソースとは何ですか? –