web-dev-qa-db-ja.com

HttpRequestMessageに相当するASP.NETCoreとは何ですか?

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);
}
10
Gerald Hughes

.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
}
6
npo