Czy istnieje sposób określenia kodu powrotu powodzenia dla metody w kontrolerze Web API?ASP.NET Web API kontrolujący kod sukcesu (200 w porównaniu z 201)
Moja początkowa kontroler został skonstruowany jak poniżej
public HttpResponseMessage PostProduct(string id, Product product)
{
var product= service.CreateProduct(product);
return Request.CreateResponse(HttpStatusCode.Created, product);
}
Jednak nie jest wadą powyższego podejścia podczas generowania Web API strony pomocy. Interfejs API strony interfejsu API WWW nie może automatycznie zdekodować, że silnie typowany produkt jest odpowiedzią, a zatem generuje przykładowy obiekt odpowiedzi w swojej dokumentacji.
Wychodzę z poniższym podejściem, ale tutaj kod sukcesu to OK (200)
, a nie Created (201)
. W każdym razie mogę kontrolować kod sukcesu metody, używając jakiejś składni stylu atrybutu? Dodatkowo, chciałbym ustawić nagłówek Location na adres URL, w którym jest dostępny stworzony zasób - ponownie, było to łatwe do zrobienia, gdy miałem do czynienia z HttpResponseMesage
.
public Product PostProduct(string id, Product product)
{
var product= service.CreateProduct(product);
return product;
}
Dzięki, to zadziałało. Tak, będzie miło udekorować go wraz z routingiem atrybutów bez konieczności pisania tego samego mapowania w innym miejscu. Cieszę się, że dowiedziałem się o tym w następnym wydaniu. – govin
Witam, w nadchodzącym wydaniu Web API pojawi się również przepis określający, co SuccessResponseType i ErrorResponseType wraz z listą możliwych kodów statusu dla nich - tak, że mogę je również przechwycić w dokumentacji API? – govin