ASP.NET Coreで簡単な Web API を作る

コード

概要

ASP.NET Core を利用してGetリクエストに対し"Hello World!"を返すような簡単なWeb APIアプリケーションを作成する手順をご紹介します。

Postリクエストの方法についてはこちらの記事を参考にしてください。

学べること

  • ASP.NET Core を利用したWebAPIアプリケーションの作成方法
  • Getリクエストの送信方法

前提

以下の環境で実施します。

  • .NET6 (6.01)
  • VisualStudio 2022 for mac (17.3)

Web APIプロジェクトの作成

  1. VisualStudioを起動します。
  2. 新しいプロジェクトを作成します。
  3. テンプレートにASP.NET CoreのAPIを選択し、続行ボタンを押下します。
  4. APIの構成はデフォルトのままでOKです。
  5. プロジェクト名、ソリューション名は任意の名前を入力します。
  6. 作成をクリック

APIコントローラークラスの作成

  1. Controllerフォルダに新規クラスを追加します。
  2. ASP.NET Core のWebAPIコントローラークラスを選択し、作成ボタンを押下します。
  3. 以下のようなコントローラークラスが作成されます。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace SampleWebAPI.Controllers
{
    [Route("api/[controller]")]
    public class SampleController : Controller
    {
        // GET: api/values
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value";
        }

        // POST api/values
        [HttpPost]
        public void Post([FromBody] string value)
        {
        }

        // PUT api/values/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody] string value)
        {
        }

        // DELETE api/values/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
        }
    }
}

コントローラークラスの編集

  1. ルーティング設定の修正

    デフォルトでも動きますが、修正したい場合は以下の記事を参考にする。
  2. Getメソッドの修正

    今回は”Hello World!”を返すだけなので、以下のように修正する。
        [HttpGet]
        public string Get()
        {
            return "Hello World!";
        }

GETリクエストを送ってみる

  1. ▶︎ボタンを押下して起動する。
  2. ビルドエラーがなければ、ブラウザで以下URLを実行する。
    ルーティング設定を変更していない( [Route(“api/[controller]”)] )の場合
    https://localhost:7162/api/{コントローラークラス名}

以下をコマンドラインで実行でもOK。

curl -X 'GET' \
  'https://localhost:7162/api/Sample'

コメント

タイトルとURLをコピーしました