3

既存の REST アプリケーションの作業を開始しましたが、RESTful クライアントを作成する方法を理解するのに苦労していますか?

ウィキペディアのページには次のように記載されています

「クライアントは、サーバーによってハイパーメディア内で動的に識別されるアクション (ハイパーテキスト内のハイパーリンクなど) を介してのみ状態遷移を行います。アプリケーションへの単純な固定エントリ ポイントを除いて、クライアントは、特定のアクションが特定のアクションに対して利用可能であるとは想定していません。サーバーから以前に受信した表現に記述されているリソースを超えています。」

クライアントが想定できるのが開始 URL だけである場合、ブラウザで実行されている純粋な HTTP REST サービスは別として、返された情報を表示する方法をクライアントが知る方法はありますか。

たとえば、java/flash クライアントは、どのように表示するかを知るために、どのデータが返されるかを想定する必要があります。そうすると、もちろん、実装は安らかではなくなりますか??

洞察をありがとう。

桟橋

4

1 に答える 1

4

状態遷移とクライアントに情報を表示する方法を伝えることには違いがあります。HTTP では、データ型は通常Content-Type、クライアントが表示方法を決定するヘッダー フィールドによって決定されます (たとえば、ブラウザはtext/html結果を要求してレンダリングします)。REST は、データが自己記述的であると仮定せず、URI を介して意味的に接続されている必要があるだけです。wikiページに記載されていることは、リクエストapplication/jsonhttp://example.comている場合、次のようなものが返されるということです:

{
    "users" : "http://example.com/users",
    "todos" : "http://example.com/todos"
}

これで、todo のリストを取得するためにどの URI を要求するかがわかったので、要求すると次のhttp://example.com/todosような結果が返される可能性があります。

[
    {
        "description" : "Do dishes",
        "user" : "http://example.com/users/20"
    },
    {
        "description" : "Do dishes",
        "user" : "http://example.com/users/42"
    }
]

ID を返すだけでなく、ユーザー キーは接続されたユーザー リソースの実際の URI を参照するため、直接要求できます。

于 2012-08-22T23:32:01.510 に答える