Câu hỏi Ví dụ hoàn chỉnh đơn giản RestSharp [đóng]


Tôi đã cố gắng để tạo ra một ứng dụng web nguyên mẫu đơn giản sử dụng RestSharp để gọi Rest API.

Tôi đã không thể tìm thấy một ví dụ hay về nó. Bất cứ ai có thể vui lòng chia sẻ và hướng dẫn tôi đến đúng tài nguyên xin vui lòng? Tôi đã xem xét sau đây, và không cung cấp những gì tôi đang tìm kiếm ví dụ đầy đủ chức năng:

http://restsharp.org/ (Không có ứng dụng đầy đủ với ví dụ)

http://www.stum.de/2009/12/22/using-restsharp-to-consume-restful-web-services/ (dường như cũ)

Trong khi tạo mẫu, tôi nhận được lỗi bên dưới cho mã bên dưới:

RestResponse response = client.Execute(request);

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

76
2018-04-19 10:21


gốc


@JohnSheehan trông giống như twillio sử dụng HttpClient cũng không restsharp - tatigo


Các câu trả lời:


Tôi đã quản lý để tìm một bài đăng trên blog về chủ đề, liên kết đến một dự án nguồn mở triển khai RestSharp. Hy vọng rằng một số trợ giúp cho bạn.

http://dkdevelopment.net/2010/05/18/dropbox-api-and-restsharp-for-a-c-developer/ Bài đăng trên blog là 2 bài đăng và dự án là ở đây: https://github.com/dkarzon/DropNet

Nó có thể giúp đỡ nếu bạn có một ví dụ đầy đủ về những gì không hoạt động. Thật khó để có được bối cảnh về cách khách hàng được thiết lập nếu bạn không cung cấp mã.


20
2018-04-19 10:31



hi @pmms, về cơ bản tôi đang cố gắng theo dõi mã từ đây stum.de/2009/12/22/… nhưng tôi nhận được lỗi mà tôi đã mô tả trên câu hỏi ban đầu của mình ở trên. - Nil Pun
Rất tiếc, không thể truy cập nó từ bên trong mạng công ty. Tôi sẽ cố gắng tìm kiếm sau này. - pms1969
OK, nhìn vào ví dụ, họ sử dụng "var", bạn đang sử dụng RestResponse. Hãy thử sử dụng "var" hoặc IRestResponse. Họ cũng đang sử dụng một Execute chung. - pms1969
Cuối cùng là một ví dụ tốt, cổ vũ! - Citroenfris
Như bây giờ, đây là câu trả lời chỉ có liên kết. - Alex


Blog của Pawel Sawicz .NET có lời giải thích và mã ví dụ thực sự tốt, giải thích cách gọi thư viện;

ĐƯỢC:

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

BÀI ĐĂNG:

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);

XÓA BỎ:

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)

Các Trang RestSharp GitHub có một mẫu hoàn toàn đầy đủ ở giữa trang. Để bắt đầu cài đặt gói RestSharp NuGet trong dự án của bạn, sau đó bao gồm các tham chiếu không gian tên cần thiết trong mã của bạn, thì mã trên sẽ hoạt động (có thể phủ nhận nhu cầu của bạn cho một ứng dụng ví dụ đầy đủ).

NuGet RestSharp


113
2018-06-18 14:58





Thay đổi

RestResponse response = client.Execute(request);

đến

IRestResponse response = client.Execute(request);

đã làm cho tôi.


23
2018-03-27 08:51



hoặc là var response = client.Execute(request) as RestResponse; - JohnTube
chỉ để cho bất kỳ ai đến đây thông qua tìm kiếm trên google; thay đổi sang IRestResponse cũng giúp với các cuộc gọi được nhập. IRestResponse <DummyData> typedResponse = client.Execute <DummyData> (yêu cầu); hoạt động như mong đợi nhưng RestResponse <DummyData> typedResponse = client.Execute <DummyData> (yêu cầu); không làm. - mahonya
Phụ thuộc vào những gì bạn được trả lại. ví dụ trong trường hợp của tôi, tôi đang sử dụng response.Data     bởi vì tôi đang làm điều này var response = Client.Execute<List<Skill>>(request);  Tôi trở về return response.Data;    Vì vậy, đối với tôi, tôi thực sự đã sử dụng IRestResponse với var bởi vì nếu tôi đã rõ ràng nó sẽ là IRestResponse<List<Skill>> để trả lời - Nếu không câu trả lời là chính xác! chỉ cần thêm nhận xét - Tom Stickel