Edited at

ASP.NET Web APIでHello World

More than 3 years have passed since last update.


ゴール

GET /api/HelloWorld/で文字列Hello Worldが返ってくるAPIを作ります。

$ curl 'http://localhost:50781/api/HelloWorld'

"Hello world"


環境

Visual Studio Community Edition 2015 Update2


手順


プロジェクト作成


  1. Visual Studioを起動


  2. 新しいプロジェクトを作成


  3. インストール済みテンプレートから Visual C# > Web を選択


  4. ASP.NET Web アプリケーションテンプレートを選択


  5. 名前(N):HelloWorldAPIに変更


  6. OKをクリック

スクリーンショット 2016-06-07 10.23.22.png



  1. Emptyテンプレートを選択


  2. Web APIにチェック


  3. OKをクリック

スクリーンショット 2016-06-07 10.25.08.png


コントローラー作成

エンドポイント/api/HelloWorldに対応するコントローラーを作ります。


  1. ソリューションエクスプローラーのControllersフォルダを右クリック


  2. 追加(D) > コントローラー(T) を選択

スクリーンショット 2016-06-07 10.26.28.png



  1. Web API2 コントローラー - 空を選択


  2. 追加をクリック

スクリーンショット 2016-06-07 10.43.42.png



  1. コントローラー名:HelloWorldControllerに変更


  2. 追加をクリック

スクリーンショット 2016-06-07 10.45.24.png


Getメソッドを追加

生成されたHelloWorldControllerクラスにGetメソッドを追加します。


HelloWorldController.cs

using System;

using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace HelloWorldAPI.Controllers
{
public class HelloWorldController : ApiController
{
public string Get()
{
return "Hello World";
}
}
}


リクエストは、HTTPメソッド名で始まるメソッドにマッピングされます。


動作確認

デバッグ実行します。

スクリーンショット 2016-06-07 11.13.45.png

403エラーが表示されます。気にせずURLを/api/HelloWorldに変更します。

スクリーンショット 2016-06-07 11.15.54.png

無事HelloWorldが表示されました。


余談

/api/helloworldでも表示されます。

デフォルトではURLの大文字小文字は区別しないようです。


参考