カテゴリ: C# 更新日: 2026/06/03

C#でWebAPIの作り方入門!初心者向けREST API開発とASP.NETの基本

C#のWebAPIを作成する方法!REST APIの基礎
C#のWebAPIを作成する方法!REST APIの基礎

先生と生徒の会話形式で理解しよう

生徒

「インターネットでデータをやり取りする仕組みを作りたいのですが、C#でもできますか?」

先生

「C#にはASP.NETという強力な仕組みがあり、WebAPIと呼ばれる仕組みを簡単に作成することができます。」

生徒

「WebAPIやREST APIという言葉をよく聞きますが、パソコンを触ったことがない私には難しそうです。」

先生

「難しく見えますが、仕組みはお店の注文と配達と同じです。基礎から順番に分かりやすく解説していきますね。」

生徒

「それなら私にも理解できそうです。具体的な作成方法やプログラムの書き方を教えてください!」

先生

「それでは、C#を使ったWebAPI開発の第一歩を一緒に踏み出しましょう!」

1. WebAPIとREST APIの基本知識

1. WebAPIとREST APIの基本知識
1. WebAPIとREST APIの基本知識

インターネットを利用しているとき、私たちは意識せずにたくさんのプログラムと通信をしています。その中心にある仕組みがWebAPI(ウェブエーピーアイ)です。APIとは、プログラムとプログラムを繋ぐ窓口のようなものです。身近な例で言うと、スマートフォンの天気予報アプリが、気象庁のデータサーバーから最新の天気を取得するときなどに使われています。

そして、そのWebAPIを作る上での世界的なルール、共通の約束事のことをREST API(レストエーピーアイ)と呼びます。このルールに従って作られた仕組みは、シンプルで扱いやすく、世界中のシステムで広く採用されています。パソコンの操作をしたことがない方でも、この約束事を知ることで、ホームページの裏側で動いているデータの仕組みが見えてくるようになります。

2. インターネットの通信とリクエストの仕組み

2. インターネットの通信とリクエストの仕組み
2. インターネットの通信とリクエストの仕組み

WebAPIの動きを理解するために、身近なお店での注文を想像してみましょう。あなたがレストランに入って店員さんにハンバーガーを注文すると、厨房で作られたハンバーガーが席に届きますね。インターネットの世界もこれと全く同じ仕組みで動いています。

データを欲しいとお願いする側の人やプログラムのことをクライアント(顧客)と呼び、そのお願いを処理してデータを返すコンピューターのことをサーバー(給仕人)と呼びます。そして、クライアントからサーバーへの注文のことをリクエスト(要求)、サーバーからクライアントへ届くお返事のことをレスポンス(応答)と呼びます。このリクエストとレスポンスの往復によって、インターネット上のサービスはすべて成り立っています。

3. HTTPメソッドの種類と役割

3. HTTPメソッドの種類と役割
3. HTTPメソッドの種類と役割

お店で注文をするときに、ただメニューを頼むだけでなく、追加をお願いしたり、取り消しをお願いしたりすることがありますね。REST APIのルールでは、この注文の種類をHTTPメソッド(エイチティーティーピーメソッド)という言葉で区別します。主な種類は以下の四つです。

  • GET(ゲット): データを手に入れたい、見たいときに使います。メニューを見る操作です。
  • POST(ポスト): 新しいデータを登録したいときに使います。新しい注文を確定する操作です。
  • PUT(プット): すでにあるデータを書き換えたい、更新したいときに使います。注文内容を変更する操作です。

このように、やりたい操作に合わせて明確に命令の種類を分けることが、世界共通の使いやすいWebAPIを作るための大切な基盤となっています。

4. ASP.NETと開発環境の準備

4. ASP.NETと開発環境の準備
4. ASP.NETと開発環境の準備

C#というプログラミング言語を使って、このWebAPIの仕組みを作るために使用するのが、マイクロソフト社が提供しているASP.NET(エーエスピーネット)という開発用の土台です。これを使うことで、複雑な通信の処理をゼロから書く必要がなくなり、初心者でも安全で高速なプログラムを組み立てることができます。

開発を始めるには、パソコンにVisual Studio(ビジュアルスタジオ)というソフトウェアをインストールします。これはプログラムを書くための高機能なノートのようなもので、これ一つで画面の作成からテストまでを行うことができます。新しくプロジェクトを作成する画面で、ウェブ用のテンプレートを選択するだけで、WebAPIの骨組みが自動的に出来上がります。

5. コントローラーの基礎と最小のプログラム

5. コントローラーの基礎と最小のプログラム
5. コントローラーの基礎と最小のプログラム

WebAPIの中で、届いた注文を一番に受け取って処理の交通整理を行う役割をコントローラーと呼びます。お店の受付窓口や、会社の受付係のような存在です。C#のプログラムでは、このコントローラーの中に具体的な処理を書いていきます。

まずは、一番単純な、文字を返すだけのプログラムを見てみましょう。画面に挨拶を表示する処理を作成します。


using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/greeting")]
public class GreetingController : ControllerBase
{
    [HttpGet]
    public string GetGreeting()
    {
        return "こんにちは!初めてのウェブエーピーアイへようこそ。";
    }
}

このプログラムでは、インターネットを通じてこの窓口にアクセスがあると、指定された日本語の文字列がそのままお返事として返却される仕組みになっています。

6. データの受け渡しとプログラムの実行

6. データの受け渡しとプログラムの実行
6. データの受け渡しとプログラムの実行

次に、ただ挨拶を返すだけでなく、相手から名前を教えてもらって、その名前に合わせたお返事をするプログラムを作ってみましょう。このように外部から送られてくる情報のことをパラメーター(引数)と呼びます。

以下のプログラムは、名前のデータを受け取って、歓迎のメッセージを組み立てる処理の例です。


using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/welcome")]
public class WelcomeController : ControllerBase
{
    [HttpGet]
    public string GetWelcomeMessage(string userName)
    {
        return userName + "さん、今日もプログラミングの学習を頑張りましょう!";
    }
}

このプログラムを実行して、名前のデータを一緒に送ると、以下のような結果が出力されます。


太郎さん、今日もプログラミングの学習を頑張りましょう!

このように、相手の入力によって返す内容を変化させることが、動的なウェブアプリ開発の基本となります。

7. JSON形式による複数データの返却

7. JSON形式による複数データの返却
7. JSON形式による複数データの返却

実際のWebAPIでは、文字を一つだけ返すのではなく、たくさんのデータをまとめて返却することが一般的です。その際に使われる世界共通のデータ表記形式をJSON(ジェイソン)と呼びます。これは、データの名前と中身をペアにして並べたもので、人間にもコンピューターにも読みやすい特徴を持っています。

C#では、クラスと呼ばれるデータの型を定義するだけで、ASP.NETが自動的に綺麗なJSON形式に変換してくれます。商品の情報を返すプログラムを作成してみましょう。


using Microsoft.AspNetCore.Mvc;

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Price { get; set; }
}

[ApiController]
[Route("api/product")]
public class ProductController : ControllerBase
{
    [HttpGet]
    public Product GetProductData()
    {
        Product item = new Product();
        item.Id = 101;
        item.Name = "学習用ノートパソコン";
        item.Price = 85000;
        
        return item;
    }
}

このプログラムを動かすと、内部で自動的に変換が行われ、以下のような形式でデータが出力されます。これが実際のシステム開発で最もよく使われるデータの形です。


{
  "id": 101,
  "name": "学習用ノートパソコン",
  "price": 85000
}

8. データの登録を行う処理の実装

8. データの登録を行う処理の実装
8. データの登録を行う処理の実装

最後に、データを新しく保存するための登録処理を作ってみましょう。これには先ほど紹介したHTTPメソッドの中のPOST(ポスト)を使用します。クライアントから送られてきた商品データをサーバー側で受け取るシミュレーションを行います。

以下のコードは、送られてきたデータを受け取り、登録が成功したというメッセージを返す処理です。


using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/register")]
public class RegisterController : ControllerBase
{
    [HttpPost]
    public string CreateNewProduct(Product newProduct)
    {
        return "商品「" + newProduct.Name + "」の登録が正常に完了しました。";
    }
}

この仕組みを使うことで、スマートフォンアプリで入力した情報を、インターネットの向こう側にあるデータベースに新しく保存するようなシステムを作ることが可能になります。

カテゴリの一覧へ
新着記事
New1
COBOL
COBOLのEVALUATE文の使い方を完全ガイド!初心者でもわかる多岐選択
New2
C#
C#の拡張メソッドとは?既存クラスに機能を追加する便利技
New3
C#
ASP.NET CoreとC#の例外処理ベストプラクティス!エラーハンドリングの基本と実装方法
New4
Azure
Azure WAFとは?SQLインジェクションやXSSからWebサイトを守る初心者ガイド
人気記事
No.1
Java&Spring記事人気No1
C#
C#のstaticクラスとstaticメソッドの基本と使い方をやさしく解説!
No.2
Java&Spring記事人気No2
C#
C#のWPFとは?XAMLでGUI開発を基礎から完全解説!初心者向けの入門ガイド
No.3
Java&Spring記事人気No3
C#
C# WinForms入門!初心者でも簡単にWindowsアプリを作る方法
No.4
Java&Spring記事人気No4
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.5
Java&Spring記事人気No5
COBOL
COBOLのファイルステータス(FILE STATUS)の使い方を完全ガイド!初心者でもわかるエラー処理の基本
No.6
Java&Spring記事人気No6
C#
C#のイベント処理を完全攻略!WinFormsとWPFの基本を解説
No.7
Java&Spring記事人気No7
C#
C#のbool型を完全解説!初心者でもわかるtrueとfalseの基本と使い方
No.8
Java&Spring記事人気No8
C#
C#でファイルパス操作の便利なテクニック!Pathクラスの使い方をわかりやすく解説