ASP.NET MVC Web API使用例


前編のブログでrestサービス開発について説明したとき、aspに言及したことがある.Netmvcのrest apiは、紙面の都合上、前編のブログで説明していませんが、ここではわざわざ出して議論しています.やはり前回のケースを引用してaspを使います.Netmvcが提供するweb apiは,IPアドレスホームクエリインタフェースの開発を行う.
私のマシンはwin 8エンタープライズ版オペレーティングシステムをインストールしているので、VSバージョンは2012なので、VSが持っているMVC 4テンプレートのWeb APIを使用してプロジェクトを作成することを選択しました.
OKをクリックすると、VSは自動的に完全な実行可能なASPを作成します.NET Web APIのプロジェクト.
プロジェクトのディレクトリ構造から、ASP.NET Web APIとASP.NET MVCプロジェクトの構造はほぼ一致している.デフォルトで作成して開いているValuesControllerファイルを削除します(参考にしてください).
IPアドレス照会サービスインタフェースを構築する以上、上記のサービス形式と一致するためにGETリクエスト方式のサービスを使用しますが、今回はMVCのWeb APIを使用して実現します.
まずModelsフォルダにAddressモデルクラスを作成します.
namespace MvcWebApi.Models 
{ 
    public class Address 
    { 
        public string IPAddress { get; set; } 
        public string Province { get; set; } 
        public string City { get; set; }   
    } 
}

次に、Controllersフォルダの下にIPAddressControllerコントローラを作成します.このIPAddressControllerは必ずApiControllerクラスから継承され、サービスが露出することに注意してください.
namespace MvcWebApi.Controllers 
{ 
    public class IPAddressController : ApiController 
    { 
        private static IList
addresses = new List
{ new Address(){ IPAddress="1.91.38.31", Province=" ", City=" " }, new Address(){ IPAddress = "210.75.225.254", Province = " ", City = " " }, }; public IEnumerable
GetIPAddresses() { return addresses; } public Address GetIPAddressByIP(string IP) { return addresses.FirstOrDefault(x => x.IPAddress == IP); } } }

上記の2つのステップをすればこのプロジェクトを実行できます.Ctrl+F 5を押してプロジェクト全体を実行すると、次のページが表示されます.
右上のAPIリンクをクリックします.
我々が定義したWeb APIのインタフェースの使用方法と説明を見ることができる.
サービスである以上、他のプログラムに呼び出されるには、実行を継続的に保障する環境が必要であり、この書かれたWeb APIのプロジェクトをIISに公開することができます.
VS独自のパブリケーション機能を使用してパブリケーションを行い、IISアプリケーションディレクトリにマッピングできます.
IISの右側のブラウズをクリックして、サービスが正常に稼働しているかどうかを確認します.
ドキュメントのヒントに従って、アドレスバーに入力します.http://192.168.0.2/webapi/api/ipaddress.
Web API定義のサービス提供データが受信されたことがわかります.同じように別のインタフェース方法を試してみましょう.
OK、これでいいです.
しかし、JSON形式に戻る必要がある場合はどうすればいいですか?Globalで簡単な方法がありますasax.csファイルにメソッドを追加すればいいです.
このコードの理由については、以下を参照してください.http://blog.miniasp.com/post/2012/10/12/ASPNET-Web-API-Force-return-JSON-format-instead-of-XML-for-Google-Chrome-Firefox-Safari.aspxあ、ここは繰り返さない.
私たちはこのプロジェクトを実行した後、繰り返し発表します.
再度ブラウザで実行すると、デフォルトではJSON形式が返されます(IEデフォルトはJSON).
ASP.NET Web APIが開発され、C#プログラムでどのように呼び出すかについては、前回のブログのコードを参考にすることができます.ページで呼び出す場合は、JQueryなどのJSライブラリからURLを要求すればよい.
参考資料:
http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
http://blog.miniasp.com/post/2012/10/12/ASPNET-Web-API-Force-return-JSON-format-instead-of-XML-for-Google-Chrome-Firefox-Safari.aspx