asp.net webapi 体験記 #clrh99
TRANSCRIPT
![Page 1: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/1.jpg)
ASP.NET WebAPI体験記
CLR/H ~サクラサク~
#clrh99
CLR/H
@KatsuYuzu
![Page 2: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/2.jpg)
自己紹介
• Twitter• しみみん@KatsuYuzu
• Blog• http://katsuyuzu.hatenablog.jp/
•開発• ASP.NET• TypeScript• AngularJS
•ゲーム• Ultima Online
![Page 3: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/3.jpg)
CLR/H http://clr-h.jp/
• 2か月に1度くらい
•テーマ自由
•共催歓迎• 日程や場所のご相談大歓迎
5分~
話してくれる方募集中テーマも形式も問いません
告知などでもOK!
![Page 4: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/4.jpg)
目次
• ASP.NET WebAPIって何
• SIerの現場
•目標•使ってみるの第一歩
![Page 5: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/5.jpg)
ASP.NET WebAPIって何
![Page 6: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/6.jpg)
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
![Page 7: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/7.jpg)
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
![Page 9: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/9.jpg)
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
![Page 10: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/10.jpg)
SIerの現場せやかてエンタープライズ
![Page 11: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/11.jpg)
某現場
•メインウェポン• VB6, WindowsFormから直接データベースを操作
•えらい人•「これ iPad で動くの?」事変
→ Web でマルチプラットフォーム
![Page 12: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/12.jpg)
某現場
• ASP.NET MVC を社内で広める活動• CLR/H in Tokyo 第5回でWebの概要と
ASP.NET MVCについて話してきました#clrhtky5 - KatsuYuzuのブログ• http://katsuyuzu.hatenablog.jp/entry/2014/11/0
1/233837
![Page 13: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/13.jpg)
某現場
• ASP.NET MVC を社内で広める活動• CLR/H in Tokyo 第5回でWebの概要と
ASP.NET MVCについて話してきました#clrhtky5 - KatsuYuzuのブログ• http://katsuyuzu.hatenablog.jp/entry/2014/11/0
1/233837
![Page 14: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/14.jpg)
某現場
• ASP.NET MVC を社内で広める活動• CLR/H in Tokyo 第5回でWebの概要と
ASP.NET MVCについて話してきました#clrhtky5 - KatsuYuzuのブログ• http://katsuyuzu.hatenablog.jp/entry/2014/11/0
1/233837
![Page 15: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/15.jpg)
某現場
• ASP.NET MVCが得意とするところの紙芝居的なWebサイトは布教した
•えらい人•「GMailや365みたいのはできる?」事変
→ 紙芝居的ではなく SPA が必要
![Page 16: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/16.jpg)
某現場
• SPA(シングルページアプリケーション)•クライアントサイド(ブラウザ)が主戦場
•みんな•「サーバーでModel(値の入れ物)作らないといけないし、クライアントでも値取得あるし、混乱してきた!」
→ ASP.NET MVCは画面配信に注力させて、値取得はASP.NET WebAPIに寄せよう
![Page 17: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/17.jpg)
某現場
•みんな• 「ASP.NET WebAPIの挙動がASP.NET MVCと全然違うからわかんないよ!」
•違い• 規定のルーティングが違う
• MVC: {Controller}/{Action}• WebAPI: {Controller}
• ActionはHTTPアクションで判別
• モデルバインダーの動きが違う• MVC: HTTPアクション、プリミティブかどうかなどに捉われずにバインドされる
• WebAPI: 明確に区別されていて学習コストが必要
![Page 18: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/18.jpg)
某現場
•要件•顧客先の社内システム
•いわゆるAPIとしての外部公開はない
•現場はあくまでもIT企業のサラリーマン
→いろいろ割り切っていいよ!
![Page 19: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/19.jpg)
ざっくりASP.NET WebAPI
• RESTfulは考えない• 男は黙って POST
• ASP.NET MVCライクにやる• {Controller}/{Action}でルーティング
• Swaggerなどの付帯要素は使わない• 覚えるキーワードを増やさない
→ URLも今までのASP.NET MVC通りモデルバインダーも今までのASP.NET MVC通り
![Page 20: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/20.jpg)
まとめ
![Page 21: ASP.NET WebAPI 体験記 #clrh99](https://reader034.vdocuments.site/reader034/viewer/2022051404/58ed0e9c1a28abe1728b45af/html5/thumbnails/21.jpg)
まとめ
•使えるように使ってみる
•興味がわいたら覚えてみる
•目標•使ってみるの第一歩