一部の Web サービスが、要求されたリソース内のリソース データをインライン化する代わりに、別のリソースへのリンクで応答するのを見てきました。このアプローチが好まれるのはいつですか? または、応答でたとえば JSON のみを使用しても問題ありませんか? 他のリソースへのリンクを作成せずに...
{
...
user: "api/user/6"
...
}
一部の Web サービスが、要求されたリソース内のリソース データをインライン化する代わりに、別のリソースへのリンクで応答するのを見てきました。このアプローチが好まれるのはいつですか? または、応答でたとえば JSON のみを使用しても問題ありませんか? 他のリソースへのリンクを作成せずに...
{
...
user: "api/user/6"
...
}
REST 応答本文またはヘッダーで提供される URL は、通常、参照 URL です。REST サービスを呼び出してエンティティを作成していて、後でそのエンティティの詳細を取得する方法を知りたいとします。そのため、エンティティが通常作成されると、エンティティは一意の ID に関連付けられます。この ID は通常、そのエンティティを取得するために参照 URL で使用されます。次に例を示します。
CREATE
/api/entity/ : POST to create an entity
RESPONSE : 200 OK response body/header
/api/entity/1
ここで、1 はそのエンティティに対して生成された ID であるため、GET を実行して、新しく作成されたエンティティの完全な詳細を取得できます。
GET : /api/entity/1
RESPONSE: details of the entity.
@Juned Ahsan の回答を追加するだけです
。ほとんどの場合、REST サービスに対する POST アクションの応答コードは201 Createdである必要があります。その場合、 HTTP 1.1 プロトコル
に従って:
新しく作成されたリソースは、応答のエンティティで返された URI によって参照できます。リソースの最も具体的な URI は Location ヘッダー フィールドによって指定されます。