RestSharpの簡単な完全な例[終了]


95

RestSharpを使用してRest APIを呼び出す簡単なプロトタイプWebアプリケーションを作成しようとしています。

その良い例を見つけることができませんでした。誰かが私を共有して正しいリソースに教えてくださいませんか?私はすでに以下を見ました、そして私が探しているもの、すなわち完全に機能的な例を提供していません:

http://restsharp.org/(例の完全なアプリケーションはありません)

http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/(古いようです)

プロトタイピング中に、以下のコードで以下のエラーが発生します。

RestResponse response = client.Execute(request);

*Cannot implicitly convert type 'IRestResponse' to 'RestResponse'. An explicit conversion exists (are you missing a cast?)  *

@JohnSheehanは、twillioがHttpClientもrestsharpも使用しているように見えます
tatigo

回答:


21

RestSharpを実装するオープンソースプロジェクトにリンクしている、この件に関するブログ投稿をなんとか見つけました。うまくいけば、あなたの助けになります。

http://dkdevelopment.net/2010/05/18/dropbox-api-and-restsharp-for-ac-developer/ ブログ投稿は2つのパートであり、プロジェクトは次のとおりです:https : //github.com/ dkarzon / DropNet

何がうまくいかなかったかの完全な例がある場合に役立ちます。コードを提供しない場合、クライアントの設定方法に関するコンテキストを取得することは困難です。


こんにちは@pmms、基本的に私はここstum.de/2009/12/22/からコードをフォローしようとしていますが、上記の元の質問で説明したエラーが発生します。
Nil Pun

企業ネットワーク内からアクセスできません。後で見てみます。
pms1969 2012

7
OK、例を見ると、「var」が使用されており、RestResponseを使用しています。「var」またはIRestResponseを使用してみてください。また、一般的な実行を使用しています。
pms1969

最後にまともな例、乾杯!

現在のところ、これはリンクのみの回答です。
Alex

134

Pawel Sawicz .NETブログには、ライブラリの呼び出し方法を説明する非常に優れた説明とサンプルコードがあります。

取得する:

var client = new RestClient("192.168.0.1");
var request = new RestRequest("api/item/", Method.GET);
var queryResult = client.Execute<List<Items>>(request).Data;

役職:

var client = new RestClient("http://192.168.0.1");
var request = new RestRequest("api/item/", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(new Item
{
ItemName = someName,
Price = 19.99
});
client.Execute(request);

削除:

var item = new Item(){//body};
var client = new RestClient("http://192.168.0.1");
var request = new RestRequest("api/item/{id}", Method.DELETE);
request.AddParameter("id", idItem);

client.Execute(request)

RestSharp GitHubのページには、途中でページダウンはかなり網羅サンプルを持っています。はじめに、プロジェクトにRestSharp NuGetパッケージをインストールし、必要な名前空間参照をコードに含めれば、上記のコードが機能するはずです(完全なサンプルアプリケーションの必要性を否定している可能性があります)。

NuGet RestSharp


これにはパラメーターとヘッダーがありません
Kristina Lex

最初のGETの例は機能しません:The type or namespace name 'List<>' could not be found The type or namespace name 'Items' could not be found
Alex G

26

変化

RestResponse response = client.Execute(request);

IRestResponse response = client.Execute(request);

私のために働いた。


3
またはvar response = client.Execute(request) as RestResponse;
JohnTube 2014年

1
グーグル検索でここに着いた人に許可するためだけに; IRestResponseに変更すると、入力された呼び出しにも役立ちます。IRestResponse <DummyData> typedResponse = client.Execute <DummyData>(request); 期待どおりに動作しますが、RestResponse <DummyData> typedResponse = client.Execute <DummyData>(request); ではない。
mahonya 2015年

返されるものによって異なります。たとえば、私の場合、私は これをresponse.Data 実行しているので使用しています var response = Client.Execute<List<Skill>>(request);return response.Data; ここでは、私は実際にvarで既にIRestResponseを使用してい IRestResponse<List<Skill>>ます。コメントを追加するだけ
Tom Stickel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.