Ответ 1
Наконец, я делаю решение. :)
[HttpPost]
public HttpResponseMessage AddBusinessUsersToBusinessUnit(MyObject request)
{
return new HttpResponseMessage(HttpStatusCode.Unauthorized);
}
Ниже мой код (Partial code), и я хочу перенести его в ядро asp.net. Моя проблема: "Request.CreateResponse" не работает в коде ниже. Я много делаю, но не могу найти решение. Как я могу это решить? Пакет Microsoft.AspNet.WebApi.Core также не работает.
[HttpPost]
public HttpResponseMessage AddBusinessUsersToBusinessUnit(MyObject request)
{
return Request.CreateResponse(HttpStatusCode.Unauthorized);
}
Заранее спасибо.
Наконец, я делаю решение. :)
[HttpPost]
public HttpResponseMessage AddBusinessUsersToBusinessUnit(MyObject request)
{
return new HttpResponseMessage(HttpStatusCode.Unauthorized);
}
Если вы просто хотите вернуть код состояния, предпочтительным является следующее:
//Creates a StatusCodeResult object by specifying a statusCode.
//so controller method should return IActionResult
return StatusCode(HttpStatusCode.Unauthorized)
Подробнее в этом ответе SO
Для Core 2. 1+ верните ActionResult или IActionResult вместо HttpResponseMessage. Это дает вам невероятную гибкость. Ниже приведен пример, который также возвращает содержимое обратно.
[HttpPost] public ActionResult<BusinessUsers> AddBusinessUsersToBusinessUnit(MyObject request) { var businessUsers = AddBusinessUsers(request); return Request.CreateResponse(HttpStatusCode.Unauthorized, businessUsers); }
https://docs.microsoft.com/en-us/aspnet/core/web-api/action-return-types?view=aspnetcore-2.2