Web開発など

Java, JS, CSS, HTML, Unity, C# のことなどを書いてます。フリーソフトの公開もしています。

ASP.NET Core:JSONを返す

ASP.NET Core で、JSON を返却する Web API を作成していきます。

補足

Web API のプロジェクトを作成している前提で記事を書きました。プロジェクトの作成方法は、以下のリンク先に書いてあります。

Web API プロジェクトの作成

手順1. APIコントローラーの追加

ソリューションエクスプローラーで右クリックして、追加コントローラー を選択します。

f:id:mamorums:20200406154840p:plain

それから、空の APIコントローラーを選択して追加します。

f:id:mamorums:20200406154849p:plain

今回は、Controllers フォルダの下に JsonController という名前で作成してみました。

手順2. ソースの編集

あくまでサンプルですが、JSON を返すソースを書いて保存してみました。

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;

namespace WebApi1.Controllers {
  [ApiController] [Route("api/json")]
  public class JsonController : ControllerBase {
    [HttpGet]
    public Dictionary<string, string> Get() {
      return new Dictionary<string, string>() {
        { "msg", "Hello, World." },
        { "date", DateTime.Now.ToString("O") }
      };
    }
  }
}

属性 Route のパラメーターが URL(の一部)になります。Route("[controller]") 等の予約語?もあるみたいなので、この辺は任意で決めていくと良さそうです。

手順3. 動作確認

デバッグ実行して、以下の URL にアクセスすると、

http://localhost:xxxxx/api/json

下のような JSON を受け取ることができました。

{
  "msg":"Hello, World.",
  "date":"2020-04-05T13:29:40.6334457+09:00"
}