SlideShare a Scribd company logo
1 of 21
Download to read offline
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通り
まとめ
まとめ
• 使えるように使ってみる
• 興味がわいたら覚えてみる
• 目標
• 使ってみるの第一歩

More Related Content

What's hot

はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5Tomo Mizoe
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説Akira Inoue
 
ASP.NET習得の最短経路を考察する
ASP.NET習得の最短経路を考察するASP.NET習得の最短経路を考察する
ASP.NET習得の最短経路を考察するMasaki Takeda
 
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3techConsumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3techToshiaki Maki
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Makoto Nishimura
 
第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会Yuta Mizui
 
Phpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろうPhpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろうSyouta Tada
 
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようJSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようVOYAGE GROUP
 
ASP.NET MVCはNullReferenceExceptionを潰している件
ASP.NET MVCはNullReferenceExceptionを潰している件ASP.NET MVCはNullReferenceExceptionを潰している件
ASP.NET MVCはNullReferenceExceptionを潰している件Joni
 
Java web application testing
Java web application testingJava web application testing
Java web application testingTokuhiro Matsuno
 
Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】dcubeio
 
Good-Bye Swagger
Good-Bye SwaggerGood-Bye Swagger
Good-Bye Swaggerkatada-yuki
 
Laravel5.1をつかったWebアプリケーション開発
Laravel5.1をつかったWebアプリケーション開発Laravel5.1をつかったWebアプリケーション開発
Laravel5.1をつかったWebアプリケーション開発kan-notice
 
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからYusuke Murata
 
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Serviceメルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes ServiceTadashi Nemoto
 
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミShohei Okada
 

What's hot (20)

はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5
 
WebWorker and Atomics
WebWorker and AtomicsWebWorker and Atomics
WebWorker and Atomics
 
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
 
[jjug] Java と Benchmark
[jjug] Java と Benchmark[jjug] Java と Benchmark
[jjug] Java と Benchmark
 
ASP.NET習得の最短経路を考察する
ASP.NET習得の最短経路を考察するASP.NET習得の最短経路を考察する
ASP.NET習得の最短経路を考察する
 
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3techConsumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
Consumer Driven Contractsで REST API/マイクロサービスをテスト #m3tech
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
 
第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会第5回名古屋若手Webエンジニア交流会
第5回名古屋若手Webエンジニア交流会
 
Phpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろうPhpフレームワーク 「laravel」でブログを作ろう
Phpフレームワーク 「laravel」でブログを作ろう
 
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようJSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
 
ASP.NET MVCはNullReferenceExceptionを潰している件
ASP.NET MVCはNullReferenceExceptionを潰している件ASP.NET MVCはNullReferenceExceptionを潰している件
ASP.NET MVCはNullReferenceExceptionを潰している件
 
実戦Scala
実戦Scala実戦Scala
実戦Scala
 
Java web application testing
Java web application testingJava web application testing
Java web application testing
 
Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】
 
Good-Bye Swagger
Good-Bye SwaggerGood-Bye Swagger
Good-Bye Swagger
 
Laravel5.1をつかったWebアプリケーション開発
Laravel5.1をつかったWebアプリケーション開発Laravel5.1をつかったWebアプリケーション開発
Laravel5.1をつかったWebアプリケーション開発
 
20140322
2014032220140322
20140322
 
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれからReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
 
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Serviceメルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
 
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミ
 

Similar to ASP.NET WebAPI 体験記 #clrh99

Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackMocel Mocelic
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform拓将 平林
 
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocppクロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocppKatsuya Shimizu
 
喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由Masaru Gushiken
 
ASP.NETからASP.NET Coreに移行した話
ASP.NETからASP.NET Coreに移行した話ASP.NETからASP.NET Coreに移行した話
ASP.NETからASP.NET Coreに移行した話Taiga Takahari
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた拓将 平林
 
.NETで始めるプログラミング
.NETで始めるプログラミング.NETで始めるプログラミング
.NETで始めるプログラミングKatsuya Shimizu
 
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡Aya Komuro
 
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLinkAya Komuro
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたしRyunosuke SATO
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたItaru Kitagawa
 
第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索APIYusuke Yamamoto
 
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜Katsuhiro Miura
 
EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会Kentaro Ohkouchi
 
How Would You Like Component Management System
How Would You Like Component Management SystemHow Would You Like Component Management System
How Would You Like Component Management SystemHidetaka Okamoto
 
Application insights で行ってみよう
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみようKazushi Kamegawa
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutTsuubito Ishii
 
.NET ラボ 勉強会 C# でラインプラットフォーム開発
.NET ラボ 勉強会 C# でラインプラットフォーム開発.NET ラボ 勉強会 C# でラインプラットフォーム開発
.NET ラボ 勉強会 C# でラインプラットフォーム開発Kenichiro Nakamura
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!Kazumi IWANAGA
 

Similar to ASP.NET WebAPI 体験記 #clrh99 (20)

Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hack
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocppクロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
 
喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由
 
ASP.NETからASP.NET Coreに移行した話
ASP.NETからASP.NET Coreに移行した話ASP.NETからASP.NET Coreに移行した話
ASP.NETからASP.NET Coreに移行した話
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた
 
.NETで始めるプログラミング
.NETで始めるプログラミング.NETで始めるプログラミング
.NETで始めるプログラミング
 
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡
 
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API第2.1回Twitter API勉強会 - 検索API
第2.1回Twitter API勉強会 - 検索API
 
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
 
EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会
 
How Would You Like Component Management System
How Would You Like Component Management SystemHow Would You Like Component Management System
How Would You Like Component Management System
 
Twitter API
Twitter APITwitter API
Twitter API
 
Application insights で行ってみよう
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみよう
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
.NET ラボ 勉強会 C# でラインプラットフォーム開発
.NET ラボ 勉強会 C# でラインプラットフォーム開発.NET ラボ 勉強会 C# でラインプラットフォーム開発
.NET ラボ 勉強会 C# でラインプラットフォーム開発
 
As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!As you like, PHP on Azure - お気に召すままに!
As you like, PHP on Azure - お気に召すままに!
 

ASP.NET WebAPI 体験記 #clrh99