あるフォーマットから別のフォーマットへの変換を実行するサービスを作成しています。変換の例としては、通貨、距離、時間、言語などがあります。この場合、地理的なポイントです(たとえば、10進角の緯度/経度から度-分-秒の緯度/経度まで)。
通常、RESTfulリソースには、CRUDできるサーバー側で永続的な類似のOOコンセプトがあります(これは、RESTfulを作成するものの一部にすぎないことを私は知っています)が、物事を変換する単純なサービスの場合、そうではありません必ず存在します。どのようにしてこれをRESTfulにするのでしょうか?現在、次のようなものがあります。
サポートされているフォーマットのリストを取得するには、次のようにします。
GET /coordinates/formats
これは、たとえばDDやDMS(10進数の度と度-分-秒)を含む形式のリストを返します。
次に、向きを変えて、次のように変換を実行できます。
POST /coordinates/DD/as/DMS
この例では、要求の本文で小数度の表現(JSONまたはその他の形式として)を渡し、応答の本文で度-分-秒の表現を受け取ります。
これはもちろん機能しますが、特に同じURIが異なる入力(異なる小数点以下の桁数)に何度も使用されるため、RESTfulではないと感じます。秘訣はおそらく、操作されているリソースに本当に集中することです。おそらくその「変換」:
POST /coordinate/conversions
本文は、値、その形式、および目的の出力を取り込む場合があります。ただし、URIはすべてのリソースで同じです...
考え?