0

RESTベースのWCFサービスを実装する場合は、リクエストとしてhttp url say frexamplehttp ://www.example.com/createuser/user1を使用します。

これで、サーバーに投稿する必要のあるデータはHttpRequestオブジェクトitslefの一部として送信されますが、postメソッドを使用している場合、これは正しいですか?

また、応答の一部として、何を取得しますか?応答から必要なJSONだけを取得しますか、それとも本体の一部としてjsonを含むHttpResponseオブジェクトを取得しますか?

4

2 に答える 2

1

まず第一に、あなたのURLはまだRPCスタイルのようです。メソッド名はURL(createruser / user1)でにおいがします。

代わりに、ユーザーをリソースとして使用する場合、ユーザーのコレクションは http://www.example.com/users(HTTP getを使用)のように表示され、すべてのユーザーが表示されます。

特定のユーザーの場合 http://www.example.com/Users/User_IdwithHTTP get Method

特定のユーザーを作成する場合は、http://www.example.com/Users withHTTPPostを使用して ください

現在、HTTP Postはフォームコレクションでデータを送信するため、ユーザーを作成するための情報はフォームデータとして送信されます。

responeに関しては、サーバーは複数の形式のresponeを送信できます。クライアントは、acceptヘッダーで、特定のリソースにどのような表現が必要かを通知する必要があります(Twitter APIのようにURLで分割することもできます)。サーバーは、クライアント要求を考慮に入れて、コンテンツタイプの応答をサーバーに送信できます。JSON、XML、プレーンテキスト以外のメディアタイプもあります

HTTResponseオブジェクトに関しては、requesetを作成するために使用しているテクノロジーの種類によって異なります。C#を使用している場合は、HTTPResponseオブジェクトを取得します。Javascriptの場合、XMLHttpRequest本体内に埋め込まれた応答を取得します(responseXMLまたはresponseTextのいずれかによって)

編集 WCFにRestStarterKitを使用することも、WebAPIを使用することもできます。WCFでは、操作コントラクトを宣言するときに、次の属性でメソッドに注釈を付けます。

[OperationContract]
[WebInvoke(Method="GET", UriTemplate="/GetData", 
           ResponseFormat=WebMessageFormat.Json)]
string GetData();

それは何を伝えますか

メソッド="GET"このリソースに使用されるhttpメソッド

UriTemplate=メソッドをURLにマッピングするため。特定のURLを呼び出すには、特定のメソッドが必要です。

ResponseFormat=この形式で応答を返すサーバー。

あなたはここここでより多くの詳細を見つけることができます

于 2012-06-18T06:36:03.200 に答える
0

RESTfulサービスをどのように実装するかはわかりませんが、WebAPIをお勧めします。その方法を示すこのを見ると、クライアント(Webブラウザー)が応答を表示する方法を確認できます。

クライアントとしてサービスにリクエストを送信し、その方法を知りたい場合は、いくつかのオプションがあります。

これを行うために.netを使用していると思いますので、使用できる2つのオプションは次のとおりです。

  1. 文字列またはバイト配列として応答を取得できるようにする「WebClient 」クラスを使用します。
  2. HttpWebRequestとHttpWebResponseを使用すると、さらに作業を行う必要があります。
于 2012-06-18T06:56:35.730 に答える