なか日記

一度きりの人生、楽しく生きよう。

ASP.NET MVCプロジェクトに後からWeb APIを追加する

個人的なメモ書きです。

Web APIはいらないかなーとASP.NET MVCプロジェクトを作成したのはいいけど、しばらく経ってから、Web APIとして公開したいものが出てくることってよくありますよね。特に行き当たりばったりの個人プロジェクトの場合(えっ

そんなとき、何をしたらいいのかってのをちょっとまとめておきます。

NuGetパッケージのインストール

なにはともあれ、まずは ASP.NET Web API 関連のパッケージをインストールします。

パッケージコンソールで下の様なコマンドでサクッと。

Install-Package Microsoft.AspNet.WebApi

Web API に関するルート設定を追加

WebApiConfig.cs を追加

App_Start フォルダの配下に下の様な内容のクラスを追加します。

using System.Web.Http;

namespace TweetPvService
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API の設定およびサービス

            // Web API ルート
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

Global.asax.cs へ追加

アプリケーション開始時に、ルート設定を追加します。

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register); // この1行を追加
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            Initializer.Init();
        }

おしまい。