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
RESTful
• 設計
REST – Wikipedia https://ja.wikipedia.org/wiki/REST
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通り
まとめ
まとめ
• 使えるように使ってみる
• 興味がわいたら覚えてみる
• 目標
• 使ってみるの第一歩

ASP.NET WebAPI 体験記 #clrh99

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