ASP.NET Core で、JSON を返す方法を書いていきます。
プロジェクトの概要
動作確認のために作成したプロジェクトは以下の通りです。
- 言語:C#
- テンプレート:ASP.NET Core Web API
- フレームワーク:.NET 6.0
- HTTPS 用の構成:無効
- コントローラーを使用する:有効
- OpenAPI サポートを有効にする:無効
- プロジェクト名:WebApiSample
プロジェクトの作成方法は、こちら に記載しています。
目次
- コントローラーの追加
- コントローラーの編集
- 起動コードの編集
- 動作確認
1. コントローラーの追加
ソリューションエクスプローラーで右クリックして「追加 → コントローラー」を選択します。
Controllers フォルダに、空の APIコントローラーを作成しました。
コントローラーの名前は、JsonController.cs にしています。
2. コントローラーの編集
追加されたコントローラーのソースを開いて、以下の内容に変更しました。
Controllers/JsonController.cs
using Microsoft.AspNetCore.Mvc; namespace WebApiSample.Controllers { [ApiController] public class JsonController : ControllerBase { [HttpGet("/res/json")] public Dictionary<string, string> Get() { return new Dictionary<string, string>() { { "message", "Hello!" } }; } } }
属性 HttpGetのパラメーターが、パス(URLの一部)になります。
3. 起動コードの編集
起動用プログラムを開いて、以下の内容に変更しました。
Program.cs
var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); var app = builder.Build(); app.UseAuthorization(); app.MapControllers(); app.UseStaticFiles(); app.Run();
以下のコードで、コントローラーが呼び出せるようになります。
builder.Services.AddControllers();
app.MapControllers();
4. 動作確認
デバッグ実行して、以下の URL(ポート番号は可変)にアクセスします。
http://localhost:xxxx/res/json
以下の JSONレスポンスが返却されます。
{"message":"Hello!"}