2

Android アプリから asp.net Web API として記述された REST サービスにデータを送信しています。私はすでに次のようなURLを正常に送信しています

http://www.deanblakely.com/REST/api/products/3と web.api のパラメーターを処理します。

さて、Android クライアントで、GSON を使用して複雑なオブジェクトを json 文字列に変換しました。文字列は次のようになります。

[{"TStamp":"2012 年 9 月 25 日 5:04:46 PM","メールアドレス":"webapi@restserver.com","高度":0.0,"緯度":3.3743984E7,"経度":-1.18107841 E8,"レグナム":1}]

このjson文字列をURLに入れるにはどうすればよいですか? たとえば、スラッシュの間に入れることはできますか? http://www.deanblakely.com/REST/api/objects/ {" TStamp ":"Sep 25, 2012 5:04:46 PM","emailaddress":"webapi@restserver.com","altitude など":0.0,"緯度":3.3743984E7,"経度":-1.18107841E8,"レグナム":1} ??

PS。web.api のすべてのメソッドは Gets です。シンプルなのでそのままにしておきたいです。この戦略に疑問がある場合は、http: //forums.asp.net/t/1843826.aspx/1 ?Web+api+CRUD+Operations を参照してください。

ありがとう、ディーン

4

1 に答える 1

3

RESTful Web API の場合、getはサーバー上の状態またはリソースを変更してはなりません。

クエリ文字列 URL にパラメーターを配置することは、通常、REST リソースの GET 要求に対して行われます。

質問からわかるように、GET を介してすべてを行うのは簡単ではありません。これは一般的ではなく、GET のフィルター オプションとしてより適切なクエリ文字列を介してより複雑なオブジェクトやグラフを投稿しようとすると、多くの問題が発生します。

そのようなオブジェクトの JSON 表現をサーバー Web API に送信する場合は、通常、作成または更新を行っています。JSON にシリアル化して本体に配置する方が簡単です。

リソースの作成を行っている場合は、POST を実行し、JSON オブジェクトをリクエストの本文に入れます。

更新を行っている場合 (おそらく /3 があるため)、URL に対して POST、PUT、または PATCH 要求を実行し、json オブジェクトを本文に入れます。PUT は、部分的な更新である PATCH とは対照的に、リソースの完全な置換を意味します。

ASP.net Web API を使用しているため、CRUD 操作での使用について説明します。フィドラーを実行してそれを通過します:

http://www.asp.net/web-api/overview/creating-web-apis/creating-a-web-api-that-supports-crud-operations

于 2012-09-26T00:41:15.180 に答える