asp.net webapi 体験記 #clrh99
Post on 12-Apr-2017
656 Views
Preview:
TRANSCRIPT
ASP.NET WebAPI体験記
CLR/H ~サクラサク~
#clrh99
CLR/H
@KatsuYuzu
自己紹介
• Twitter• しみみん@KatsuYuzu
• Blog• http://katsuyuzu.hatenablog.jp/
•開発• ASP.NET• TypeScript• AngularJS
•ゲーム• Ultima Online
CLR/H http://clr-h.jp/
• 2か月に1度くらい
•テーマ自由
•共催歓迎• 日程や場所のご相談大歓迎
5分~
話してくれる方募集中テーマも形式も問いません
告知などでもOK!
目次
• ASP.NET WebAPIって何
• SIerの現場
•目標•使ってみるの第一歩
ASP.NET WebAPIって何
WebAPIとは
• HTTPサービス
https://api.line.me/v1/profile
LINE Developers - REST APIs - API reference https://developers.line.me/restful-api/api-
reference#getting_user_profile_sample_response
ASP.NET WebAPIとは
• ASP.NET
ASP.NET Web API は、ブラウザーやモバイルデバイスなどを含む多様なクライアントに提供できる HTTP サービスの構築が容易になるフレームワークです。ASP.NET Web API は、.NET Framework 上でRESTfulアプリケーションを構築するためのプラットフォームとして理想的です。ASP.NET Web API 2 https://msdn.microsoft.com/ja-jp/library/dn448365(v=vs.118).aspx
ASP.NET WebAPI
• ASP.NET Web API 2• https://msdn.microsoft.com/ja-
jp/library/dn448365(v=vs.118).aspx
•初めての ASP.NET Web API• http://www.asp.net/web-
api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
SIerの現場せやかてエンタープライズ
某現場
•メインウェポン• VB6, WindowsFormから直接データベースを操作
•えらい人•「これ iPad で動くの?」事変
→ Web でマルチプラットフォーム
某現場
• ASP.NET MVC を社内で広める活動• CLR/H in Tokyo 第5回でWebの概要と
ASP.NET MVCについて話してきました#clrhtky5 - KatsuYuzuのブログ• http://katsuyuzu.hatenablog.jp/entry/2014/11/0
1/233837
某現場
• ASP.NET MVC を社内で広める活動• CLR/H in Tokyo 第5回でWebの概要と
ASP.NET MVCについて話してきました#clrhtky5 - KatsuYuzuのブログ• http://katsuyuzu.hatenablog.jp/entry/2014/11/0
1/233837
某現場
• ASP.NET MVC を社内で広める活動• CLR/H in Tokyo 第5回でWebの概要と
ASP.NET MVCについて話してきました#clrhtky5 - KatsuYuzuのブログ• http://katsuyuzu.hatenablog.jp/entry/2014/11/0
1/233837
某現場
• ASP.NET MVCが得意とするところの紙芝居的なWebサイトは布教した
•えらい人•「GMailや365みたいのはできる?」事変
→ 紙芝居的ではなく SPA が必要
某現場
• SPA(シングルページアプリケーション)•クライアントサイド(ブラウザ)が主戦場
•みんな•「サーバーでModel(値の入れ物)作らないといけないし、クライアントでも値取得あるし、混乱してきた!」
→ ASP.NET MVCは画面配信に注力させて、値取得はASP.NET WebAPIに寄せよう
某現場
•みんな• 「ASP.NET WebAPIの挙動がASP.NET MVCと全然違うからわかんないよ!」
•違い• 規定のルーティングが違う
• MVC: {Controller}/{Action}• WebAPI: {Controller}
• ActionはHTTPアクションで判別
• モデルバインダーの動きが違う• MVC: HTTPアクション、プリミティブかどうかなどに捉われずにバインドされる
• WebAPI: 明確に区別されていて学習コストが必要
某現場
•要件•顧客先の社内システム
•いわゆるAPIとしての外部公開はない
•現場はあくまでもIT企業のサラリーマン
→いろいろ割り切っていいよ!
ざっくりASP.NET WebAPI
• RESTfulは考えない• 男は黙って POST
• ASP.NET MVCライクにやる• {Controller}/{Action}でルーティング
• Swaggerなどの付帯要素は使わない• 覚えるキーワードを増やさない
→ URLも今までのASP.NET MVC通りモデルバインダーも今までのASP.NET MVC通り
まとめ
まとめ
•使えるように使ってみる
•興味がわいたら覚えてみる
•目標•使ってみるの第一歩
top related