POSTされたJSONを文字列として受信する方法を示す ブログ投稿 を見つけました。
コントローラのREST Postメソッドで次のコードと同じことを行うための新しいネイティブな方法は何ですか?
public async Task<HttpResponseMessage> Post(HttpRequestMessage request)
{
var jsonString = await request.Content.ReadAsStringAsync();
// Do something with the string
return new HttpResponseMessage(HttpStatusCode.Created);
}
以下の他のオプションは私には機能しません。リクエストヘッダーでContent-Type: application/json
を使用していないため(これは変更できません)、415を取得します。
public HttpResponseMessage Post([FromBody]JToken jsonbody)
{
// Process the jsonbody
return new HttpResponseMessage(HttpStatusCode.Created);
}
.Net Coreでは、Web APIとMVCがマージされているため、このように IActionResult
またはその派生物の1つを使用して行うことができます。
public IActionResult Post([FromBody]JToken jsonbody)
{
// Process the jsonbody
return Created("", null);// pass the url and the object if you want to return them back or you could just leave the url empty and pass a null object
}