ASP.NET Core WEB API プログラミング

【 ASP.NET WebAPI 】BodyパラメータのJSONを受け取る方法 FromBody

FromBody 属性を使用して、

ASP.NET Core(.NET 6)のWebAPIBodyパラメータのJSONを受け取る方法を解説します。

ASP.NET Core FromBody JSON

FromBody 属性

POSTやGETで呼び出されるメソッドの引数に [FromBody] という属性パラメータを指定することでBodyに格納された複数の値やJSONを簡単に取得することができます。

逆にURLパラメータの値などの単一の値を取得したい場合は [FromQuery] という属性パラメータの方が適しています。

[FromQuery] についての解説はこちらになりますので、そちらも参考にしてください。

例えば、以下のようなPOSTリクエストで送信されてくるJSON値があるとします。

{
	"LoginName": "test",
	"Password": "1234",
	"TelNo": "090-****-****"
}

上記のJSONをWEBAPI側の対応するPOSTアクションで受け取りたい場合、

まずは、そのJSONデータを格納するためのクラスを用意する必要があります。

その時作成するクラスは受け取るJSONと同じ構造にします。

public class Root
{
     public string LoginName { get; set; }
     public string Password { get; set; }
     public string TelNo { get; set; }
}

その次に、用意したクラスを実際のJSONを受け取るPOSTアクションの引数に設定します。

// POST: users/login
[HttpPost("login")]
public async Task<ActionResult<User>> LoginUser([FromBody] User user)
{
  string name = user.LoginName;
    string pass = user.Password;
    string telno = user.TelNo;

  //処理を書く
}

これでPOSTリクエスト時、Bodyに格納されているJSONデータをPOSTアクション側で正常に受け取ることができます。

ASP.NET おすすめ入門講座

3つのWebアプリケーションの開発を通して、ASP.NETについて基礎から学べるおすすめの入門講座がこちら☟

【入門者向け】ASP.NET MVCでWebアプリ開発のノウハウを学ぼう!

icon

おすすめ記事はコチラ

スマレジ テックファーム 1

スマレジ テックファーム で Webエンジニアとして勤めている tomoです。 今回は株式会社スマレジや私が所属している 「 スマレジ テックファーム 」についてPRしていきたいと思います。 スマレジ ...

2

FromBody 属性を使用して、 ASP.NET Core(.NET 6)のWebAPIでBodyパラメータのJSONを受け取る方法を解説します。 FromBody 属性 POSTやGETで呼び出さ ...

PC picture 3

ASP.NET Core(.NET 6)でCookie認証のタイムアウトを設定する方法を解説します。 Cookieの有効期限について Cookieには通常はタイムアウト(有効期限)を設定します。 基本 ...

4

ASP.NET Core(.NET 6)でクロスオリジンリクエスト ( CORS )を設定する方法を解説します。 簡単に クロスオリジンリクエスト ( CORS )とは何かについても少し解説したいと思 ...

-ASP.NET Core, WEB API, プログラミング
-, ,