2017-11-24 6 views
-4

国で販売されている商品のリストを含むJSONを返すAPI RESTを実装しています。有効なREST API URLですか?

URLこの種のpourposeのために良いですし、リソースへのアクセスにRESTfull原則を養う場合、私は求めています:1は、国のIDで

http://XXX.YYY.ZZZ:RRR/country/1/commodities 

いい解決法があるのでしょうか、それとも私は何かを変更する必要がありますか?

+0

このURIは、 'some-protocol:// some.server.pld/djo/bah/eno'と同じように「RESTful」であり、実際のRESTクライアントはURIがどのように構築されているのか、セマンティクスあります。代わりに、クライアントは返されたURIの意味を、ドキュメントが返されたメディアタイプのリレーション名を使用してルックアップし、そのURIを呼び出すかどうかを決定する必要があります。他のものはクライアントをAPIに結合するだけで、RESTの背後にあるアイデアは無意味です。 RESTはURIデザインに潮流ではないので、あなたのURIのデザインに関する答えは多かれ少なかれ個人的な味です –

+0

ここの答えは残念ながら残念です。 あなたのアプローチには本質的に安心はありませんが、アプリケーションのより大きなコンテキストで商品リソースがどのように使用されるかによって異なります。 – bryan60

答えて

1

URL自体はRESTfulとみなすことはできません。一般的な慣行に従い


、あなたは(与えられた識別子で一国をマップ)と/countries/{id}(国のコレクションをマップする)/countriesを持つ必要があります。

しかし、この規則を適用しても、アプリケーションはRESTfulにはなりません。

+0

いいえ私は単一の特定の国に関連する商品のコレクションを持っています – AndreaNobili

+1

@AndreaNobiliあなたのURLのセマンティクスについてはよく分かりません。一般的な慣行に従えば、 '/ countries'(国のコレクションをマップする)と'/countries/{id} '(指定された識別子を持つ単一の国をマップする)があります。 –

+0

@AndreaNobili:私は、関連するレコードを取得するためにあなたの提案するように、データをより深く掘り下げることは大丈夫だと思います。しかし、前に述べたように、REST定義のURLについての規則は実際にはありません。それ以外の場合、同じURLは常に同じリソースと状態を返さなければなりません。どちらか一つのベストプラクティスもありません。多くのアプローチがあります(そしてそれらについて多くの議論があります)。私はあなたのアプローチがきれいで実行可能だと思います。もちろん、よく使われるパターンに固執するのは良いことです。 –

関連する問題