
C#とASP.NET CoreでREST APIをサクッと構築!初心者でも安心のステップバイステップ解説。
C# ASP.NET CoreでREST APIを構築する:はじめに
C#とASP.NET Coreは、堅牢でスケーラブルなREST APIを構築するための強力な組み合わせです。この記事では、ASP.NET Coreを使用して基本的なREST APIを作成する方法をステップごとに解説します。API開発の経験がない方でも、このチュートリアルを通じてC#でのAPI開発の基礎を習得できます。
本チュートリアルでは、Visual StudioまたはVisual Studio Codeを使用します。これらのIDEは、ASP.NET Coreプロジェクトの作成とデバッグを容易にします。事前に.NET SDKがインストールされていることを確認してください。
ASP.NET Coreプロジェクトの作成
まず、新しいASP.NET Core Web APIプロジェクトを作成します。Visual Studioを使用する場合は、「新しいプロジェクトの作成」を選択し、「ASP.NET Core Web API」テンプレートを選択します。Visual Studio Codeを使用する場合は、ターミナルで以下のコマンドを実行します。
dotnet new webapi -n MyWebApi
これにより、「MyWebApi」という名前の新しいWeb APIプロジェクトが作成されます。プロジェクトのディレクトリに移動し、Visual Studio Codeで開きます。
cd MyWebApi
code .
モデルの定義
APIで扱うデータを表すモデルを定義します。例として、TodoItem
というモデルを作成します。
プロジェクトに新しいクラスファイルTodoItem.cs
を追加し、以下のコードを記述します。
public class TodoItem
{
public long Id { get; set; }
public string Name { get; set; }
public bool IsComplete { get; set; }
}
コントローラーの作成
APIのエンドポイントを処理するコントローラーを作成します。ControllersディレクトリにTodoItemsController.cs
という名前の新しいファイルを作成し、以下のコードを追加します。
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
[ApiController]
[Route("api/[controller]")]
public class TodoItemsController : ControllerBase
{
private static List<TodoItem> _todoItems = new List<TodoItem>();
[HttpGet]
public ActionResult<IEnumerable<TodoItem>> GetTodoItems()
{
return _todoItems;
}
[HttpPost]
public ActionResult<TodoItem> CreateTodoItem(TodoItem item)
{
item.Id = _todoItems.Count + 1;
_todoItems.Add(item);
return CreatedAtAction(nameof(GetTodoItem), new { id = item.Id }, item);
}
[HttpGet("{id}")]
public ActionResult<TodoItem> GetTodoItem(long id)
{
var item = _todoItems.FirstOrDefault(x => x.Id == id);
if (item == null)
{
return NotFound();
}
return item;
}
[HttpPut("{id}")]
public IActionResult UpdateTodoItem(long id, TodoItem item)
{
if (id != item.Id)
{
return BadRequest();
}
var existingItem = _todoItems.FirstOrDefault(x => x.Id == id);
if (existingItem == null)
{
return NotFound();
}
existingItem.Name = item.Name;
existingItem.IsComplete = item.IsComplete;
return NoContent();
}
[HttpDelete("{id}")]
public IActionResult DeleteTodoItem(long id)
{
var item = _todoItems.FirstOrDefault(x => x.Id == id);
if (item == null)
{
return NotFound();
}
_todoItems.Remove(item);
return NoContent();
}
}
APIの実行とテスト
プロジェクトを実行してAPIをテストします。Visual StudioまたはVisual Studio Codeのデバッグ機能を使用するか、ターミナルで以下のコマンドを実行します。
dotnet run
APIが起動したら、ブラウザまたはPostmanなどのツールを使用してエンドポイントにアクセスできます。例えば、GET /api/TodoItems
にアクセスすると、TodoItemのリストを取得できます。
PostmanなどのAPIクライアントを使用して、POST, PUT, DELETEリクエストを送信し、APIが正しく動作することを確認してください。
参考リンク
まとめ
このチュートリアルでは、C#とASP.NET Coreを使用して基本的なREST APIを構築する方法を学びました。モデルの定義、コントローラーの作成、APIの実行とテストという主要なステップを理解することで、より複雑なAPIを構築するための基盤を築くことができます。さらに学習を進めて、認証、データ永続化、エラー処理などの高度な機能を取り入れてみましょう。