Tôi đang cố truyền đối tượng C# tới bộ điều khiển api trên web. Api được cấu hình để lưu trữ các đối tượng của loại sản phẩm được đăng lên nó. Tôi đã thêm thành công các đối tượng bằng cách sử dụng phương thức Jquery Ajax và bây giờ tôi đang cố gắng để có được kết quả tương tự trong C#.Gửi đối tượng C# tới bộ điều khiển webapi
tôi đã tạo ra một ứng dụng Console đơn giản để gửi một yêu cầu Đăng lên các api:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
}
static void Main(string[] args)
{
string apiUrl = @"http://localhost:3393/api/products";
var client = new HttpClient();
client.PostAsJsonAsync<Product>(apiUrl, new Product() { Id = 2, Name = "Jeans", Price = 200, Category = "Clothing" });
}
Phương pháp postproduct không bao giờ được gọi, làm thế nào để gửi đối tượng này để điều khiển?
Phương pháp được sử dụng để thêm các mục:
public HttpResponseMessage PostProduct([FromBody]Product item)
{
item = repository.Add(item);
var response = Request.CreateResponse<Product>(HttpStatusCode.Created, item);
string uri = Url.Link("DefaultApi", new { id = item.Id });
response.Headers.Location = new Uri(uri);
return response;
}
Mã của bạn có vẻ ổn, bạn thấy gì trong điều này? Bạn đã bật tính năng dò tìm webapi trên máy chủ chưa? –
Tôi có thể thấy các yêu cầu bắt nguồn từ biểu mẫu mà tôi đang sử dụng không có yêu cầu nào được gửi bởi HttpClient được hiển thị trong Fiddler. Tôi cũng đã tải api lên: http://producttestapi.azurewebsites.net/api/products nhưng không có yêu cầu nào từ HttpClient đạt được api đó. – neo112
cũng, kiểm tra index.html của url đó, đó là hình thức tôi sử dụng để gửi các đối tượng thông qua ajax, mà một trong những công trình để api là ok. – neo112