Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

ASP.NET Core JSONを返却する方法(Web API の作成)

ASP.NET Core で、JSON を返す方法を書いていきます。

プロジェクトの概要

動作確認のために作成したプロジェクトは以下の通りです。

  • 言語:C#
  • テンプレート:ASP.NET Core Web API
  • フレームワーク:.NET 6.0
  • HTTPS 用の構成:無効
  • コントローラーを使用する:有効
  • OpenAPI サポートを有効にする:無効
  • プロジェクト名:WebApiSample

プロジェクトの作成方法は、こちら に記載しています。

目次

  1. コントローラーの追加
  2. コントローラーの編集
  3. 起動コードの編集
  4. 動作確認

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!"}

参考文献