21
ASP .NET WebAPI 体験記 CLR/H ~サクラサク~ #clrh99 CLR/H @KatsuYuzu

ASP.NET WebAPI 体験記 #clrh99

Embed Size (px)

Citation preview

Page 1: ASP.NET WebAPI 体験記 #clrh99

ASP.NET WebAPI体験記

CLR/H ~サクラサク~

#clrh99

CLR/H

@KatsuYuzu

Page 2: ASP.NET WebAPI 体験記 #clrh99

自己紹介

• Twitter• しみみん@KatsuYuzu

• Blog• http://katsuyuzu.hatenablog.jp/

•開発• ASP.NET• TypeScript• AngularJS

•ゲーム• Ultima Online

Page 3: ASP.NET WebAPI 体験記 #clrh99

CLR/H http://clr-h.jp/

• 2か月に1度くらい

•テーマ自由

•共催歓迎• 日程や場所のご相談大歓迎

5分~

話してくれる方募集中テーマも形式も問いません

告知などでもOK!

Page 4: ASP.NET WebAPI 体験記 #clrh99

目次

• ASP.NET WebAPIって何

• SIerの現場

•目標•使ってみるの第一歩

Page 5: ASP.NET WebAPI 体験記 #clrh99

ASP.NET WebAPIって何

Page 6: ASP.NET WebAPI 体験記 #clrh99

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

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 8: ASP.NET WebAPI 体験記 #clrh99

RESTful

•設計

REST – Wikipedia https://ja.wikipedia.org/wiki/REST

Page 9: ASP.NET WebAPI 体験記 #clrh99

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

SIerの現場せやかてエンタープライズ

Page 11: ASP.NET WebAPI 体験記 #clrh99

某現場

•メインウェポン• VB6, WindowsFormから直接データベースを操作

•えらい人•「これ iPad で動くの?」事変

→ Web でマルチプラットフォーム

Page 12: ASP.NET WebAPI 体験記 #clrh99

某現場

• 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

某現場

• 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

某現場

• 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

某現場

• ASP.NET MVCが得意とするところの紙芝居的なWebサイトは布教した

•えらい人•「GMailや365みたいのはできる?」事変

→ 紙芝居的ではなく SPA が必要

Page 16: ASP.NET WebAPI 体験記 #clrh99

某現場

• SPA(シングルページアプリケーション)•クライアントサイド(ブラウザ)が主戦場

•みんな•「サーバーでModel(値の入れ物)作らないといけないし、クライアントでも値取得あるし、混乱してきた!」

→ ASP.NET MVCは画面配信に注力させて、値取得はASP.NET WebAPIに寄せよう

Page 17: ASP.NET WebAPI 体験記 #clrh99

某現場

•みんな• 「ASP.NET WebAPIの挙動がASP.NET MVCと全然違うからわかんないよ!」

•違い• 規定のルーティングが違う

• MVC: {Controller}/{Action}• WebAPI: {Controller}

• ActionはHTTPアクションで判別

• モデルバインダーの動きが違う• MVC: HTTPアクション、プリミティブかどうかなどに捉われずにバインドされる

• WebAPI: 明確に区別されていて学習コストが必要

Page 18: ASP.NET WebAPI 体験記 #clrh99

某現場

•要件•顧客先の社内システム

•いわゆるAPIとしての外部公開はない

•現場はあくまでもIT企業のサラリーマン

→いろいろ割り切っていいよ!

Page 19: ASP.NET WebAPI 体験記 #clrh99

ざっくりASP.NET WebAPI

• RESTfulは考えない• 男は黙って POST

• ASP.NET MVCライクにやる• {Controller}/{Action}でルーティング

• Swaggerなどの付帯要素は使わない• 覚えるキーワードを増やさない

→ URLも今までのASP.NET MVC通りモデルバインダーも今までのASP.NET MVC通り

Page 20: ASP.NET WebAPI 体験記 #clrh99

まとめ

Page 21: ASP.NET WebAPI 体験記 #clrh99

まとめ

•使えるように使ってみる

•興味がわいたら覚えてみる

•目標•使ってみるの第一歩