Có cách nào để chỉ định mã trả về thành công cho một phương thức trong bộ điều khiển API Web không?ASP.NET Web API kiểm soát mã thành công (200 so với 201)
điều khiển ban đầu của tôi đã được cấu trúc như dưới đây
public HttpResponseMessage PostProduct(string id, Product product)
{
var product= service.CreateProduct(product);
return Request.CreateResponse(HttpStatusCode.Created, product);
}
Tuy nhiên, có nhược điểm với phương pháp trên khi bạn tạo Web API trang trợ giúp. API trang Trợ giúp API Web không thể tự động giải mã rằng Sản phẩm được nhập mạnh mẽ là phản hồi và do đó tạo ra một đối tượng phản hồi mẫu trong tài liệu của nó.
Vì vậy, tôi đi với cách tiếp cận dưới đây, nhưng ở đây mã thành công là OK (200)
chứ không phải Created (201)
. Dù sao tôi có thể kiểm soát mã thành công của phương pháp bằng cách sử dụng một số cú pháp kiểu thuộc tính? Ngoài ra, tôi cũng muốn đặt tiêu đề Vị trí thành URL nơi tài nguyên được tạo sẵn có - một lần nữa, điều này rất dễ thực hiện khi tôi xử lý HttpResponseMesage
.
public Product PostProduct(string id, Product product)
{
var product= service.CreateProduct(product);
return product;
}
Cảm ơn, điều đó đã hiệu quả. Vâng, sẽ được tốt đẹp để trang trí nó cùng với định tuyến thuộc tính mà không cần phải viết cùng một bản đồ ở một nơi khác. Vui mừng khi biết nó sắp ra mắt trong bản phát hành tiếp theo. – govin
Xin chào, trong bản phát hành sắp tới của API Web, cũng sẽ có một điều khoản để chỉ định SuccessResponseType và ErrorResponseType cùng với danh sách các mã trạng thái có thể cho chúng - để tôi có thể nắm bắt chúng cũng như trong tài liệu API? – govin