0
私のサービスがステータスコードとともにJSONレスポンスを送信するようにしようとしていますが、その方法はわかりません。たとえば、POSTリクエストに対する応答として、201 Createdレスポンスを送信したいとします。これまで私が持っているのはこれです。ASP.NETサービスからJSONレスポンスが送信される
EmployeeApiController.cs
[RoutePrefix("api/employee")]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class EmployeeApiController : ApiController
{
readonly EmployeePersistence persistence;
public EmployeeApiController()
{
persistence = new EmployeePersistence();
}
[HttpPost]
[Route("")]
public HttpResponseMessage Post([FromBody]EmployeeDto employee)
{
long id = persistence.SaveEmployee(employee);
// create http response
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);
response.Headers.Location = new Uri(Request.RequestUri, String.Format("/api/employee/{0}", id));
return response;
}
JSONの代わりにtext/html
を返します今すぐ。戻り値の型をIHttpActionResult
に変更してからreturn Json(response)
に変更しようとしましたが、それが機能しませんでした。それはどうすればいいのですか?
はなぜすることができます(「」)あなたの設定経路ある問題を解決する必要がありますあなたのクラスの装飾
に
[Produces("application/json")]
を追加し、このようにあなたのコントローラメソッドを変更それを除く –