RestSharp 简单的完整示例 [关闭]

Posted

技术标签:

【中文标题】RestSharp 简单的完整示例 [关闭]【英文标题】:RestSharp simple complete example [closed] 【发布时间】:2012-04-30 20:24:22 【问题描述】:

我一直在尝试创建一个使用 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 【参考方案1】:

Pawel Sawicz .NET blog有很好的解释和示例代码,解释了如何调用库;

获取:

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 page 在页面中间有一个非常详尽的示例。要开始在您的项目中安装 RestSharp NuGet 包,然后在您的代码中包含必要的命名空间引用,那么上面的代码应该可以工作(可能不需要完整的示例应用程序)。

【讨论】:

缺少参数和标题 您的第一个 GET 示例不起作用:The type or namespace name 'List&lt;&gt;' could not be found The type or namespace name 'Items' could not be found 谢谢,这是一个很棒的快速备忘单 :)【参考方案2】:

变化

RestResponse response = client.Execute(request);

IRestResponse response = client.Execute(request);

为我工作。

【讨论】:

var response = client.Execute(request) as RestResponse; 只是为了让任何登陆这里的人通过谷歌搜索;更改为 IRestResponse 也有助于键入调用。 IRestResponse typedResponse = client.Execute(request);按预期工作,但 RestResponse typedResponse = client.Execute(request);没有。 取决于您返回的内容。例如,在我的情况下,我使用response.Data,因为我正在这样做var response = Client.Execute&lt;List&lt;Skill&gt;&gt;(request);,其中我返回return response.Data; 所以对我来说,我实际上已经在使用带有var 的IRestResponse,因为如果我是明确的,它将是@987654327 @回复 - 否则答案是正确的!只是添加评论【参考方案3】:

我设法找到了一篇关于该主题的博客文章,该文章链接到一个实现 RestSharp 的开源项目。希望对您有所帮助。

http://dkdevelopment.net/2010/05/18/dropbox-api-and-restsharp-for-a-c-developer/ 博客文章是 2 部分,项目在这里: https://github.com/dkarzon/DropNet

如果您有一个无法正常工作的完整示例,这可能会有所帮助。如果您不提供代码,就很难了解客户端是如何设置的。

【讨论】:

嗨@pmms,基本上我正在尝试从这里stum.de/2009/12/22/… 遵循代码,但我得到了我在上面的原始问题中描述的错误。 抱歉,无法从公司网络内部访问它。稍后我会尝试查找。 好的,看例子,他们使用“var”,你使用的是RestResponse。尝试使用“var”或 IRestResponse。他们还使用通用的 Execute。 终于有一个像样的例子了,干杯! 现在,这是一个仅链接的答案。

以上是关于RestSharp 简单的完整示例 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

express-jwt 的任何完整示例? [关闭]

带有路线或导航的 react-native-side-menu 的完整工作示例 [关闭]

.NET Core - HttpClient 与 RestSharp [关闭]

带有libcurl的下载功能,但它的工作不完整[关闭]

Flutter HTTP 响应在 Flutter web 上测试时显示完整响应,但在 Android 设备上测试时显示不完整

完整日历周显示垂直视图