API mà tôi đang cố gắng gọi yêu cầu tôi làm một POST nhưng có một thân trống. Tôi mới sử dụng WCF Web API HttpClient và tôi dường như không thể tìm ra mã viết có thể làm một bài đăng với một thân trống. Tôi tìm thấy tài liệu tham khảo cho một số HttpContent.CreateEmpty() phương pháp, nhưng tôi không nghĩ rằng đó là cho mã API HttpClient Web API kể từ khi tôi dường như không thể tìm thấy phương pháp đó.Đăng một cơ thể rỗng lên REST API qua HttpClient
Trả lời
Sử dụng StringContent
hoặc ObjectContent
mà xuất phát từ HttpContent
hoặc bạn có thể sử dụng null
như HttpContent
(xem this comment).
Sử dụng StringContent với chuỗi trống đã hoạt động. Cảm ơn! –
Có vẻ như đây chỉ là trong .NET framework 4.5? http://msdn.microsoft.com/en-us/library/system.net.http.stringcontent(v=VS.110).aspx – dan
Nó sẽ xuất xưởng với WCF Web API nhưng tôi nghĩ rằng một số "phần tốt" sẽ biến nó thành khung chính. –
Tôi nghĩ tự động nếu phương pháp web của bạn không có tham số hoặc tất cả đều phù hợp với mẫu URL.
Ví dụ tuyên bố này gửi cơ thể trống rỗng:
[OperationContract]
[WebGet(UriTemplate = "mykewlservice/{emailAddress}",
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped)]
void GetStatus(string emailAddress, out long statusMask);
Tôi đang cố GỬI một cơ thể trống. Phương thức HttpClient.Post() yêu cầu một URI và một đối tượng HttpContent. Tôi không phải là những gì để vượt qua như HttpContent khi tôi không muốn gửi bất cứ điều gì. –
Vì vậy, bạn không sử dụng WCF. Điều đó thậm chí còn dễ dàng hơn: ... HttpWebRequest request = (HttpWebRequest) WebRequest.Create ("http: // ..."); request.Method = "POST"; HttpWebResponse respose = (HttpWebResponse) request.GetResponse(); ... bạn đưa ra phản hồi –
Tôi đang sử dụng HttpClient, không phải HttpWebRequest. Sử dụng StringContent với một chuỗi rỗng làm việc. –
Did này trước đây, chỉ cần giữ cho nó đơn giản:
Task<HttpResponseMessage> task = client.PostAsync(url, null);
Điều này sạch hơn câu trả lời được chấp nhận, và nên được bỏ phiếu. –
đã phát hiện ra rằng:
công tác nhiệm vụ = client.PostAsync (url, null);
Thêm null vào phần thân yêu cầu không thành công trên WSO2. Thay thế bằng:
Tác vụ nhiệm vụ = ứng dụng khách.PostAsync (url, new {});
Và hoạt động.
- 1. Đăng JsonObject Với HttpClient Từ API Web
- 2. Tạo vấn đề jira qua Rest C# httpClient
- 3. ứng dụng giao diện điều khiển HttpClient đăng lên trang web mvc api
- 4. Đăng nhập API REST Salesforce?
- 5. Đăng nhập vào facebook trong android sử dụng REST API
- 6. Đăng hình ảnh lên Gists qua API HTTP
- 7. Tải video lên Facebook REST API cũ
- 8. Làm thế nào để bạn đăng một khác biệt lên ReviewBoard thông qua API của nó?
- 9. Kết quả phủ sóng qua REST API
- 10. Apache HttpClient GET với cơ thể
- 11. Liệt kê Azure Virtual Machines qua REST API
- 12. Đăng dữ liệu lên asp.net Web API
- 13. HttpClient: Cách tải lên nhiều tệp cùng một lúc
- 14. Groovy/Grails đăng XML qua HTTP (sử dụng plugin REST)
- 15. Ứng dụng khách REST có thể xử lý thông tin đăng nhập qua oauth
- 16. Symfony 2.1 Đăng nhập REST API tới mọi nơi
- 17. API REST với CodeIgniter
- 18. Xác thực API REST
- 19. Delphi REST API Post Sample
- 20. REST: Mã phản hồi HTTP đúng cho một bài đăng bị bỏ qua
- 21. Tải lên tệp REST bằng HttpRequestMessage hoặc Luồng?
- 22. Phát triển API REST API
- 23. Không thể đăng nhập vào Facebook Places bằng cách đăng lên api?
- 24. Lực lượng bán hàng trưng bày các đối tượng tùy chỉnh thông qua REST API
- 25. Xác thực Symfony2 qua API REST bên thứ 3
- 26. Ember.js & REST API
- 27. Đang tải lên lên Facebook graph API qua Javascript/PhoneGap
- 28. HttpClient PutAsync không gửi một tham số để api
- 29. Đăng nhận xét qua biểu đồ api lên hộp plugin xã hội
- 30. Tải lên khác biệt/tải lên gia tăng bằng cách sử dụng REST API
HttpContent.CreateEmpty là từ nguyên mẫu HttpClient cũ là một phần của bộ khởi động REST. Thật không may là không có tương đương trong HttpClient mới. –