Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ASP.NetでAPIを作ってみた
Search
laco
January 22, 2014
Programming
0
490
ASP.NetでAPIを作ってみた
C#福岡 第三回勉強会にて
API.Net WebAPIの話
laco
January 22, 2014
Tweet
Share
More Decks by laco
See All by laco
Angular2とMVVM
laco0416
5
5.6k
Pub使ってますか?
laco0416
1
1.5k
OSC_F_2013 LT
laco0416
0
130
Other Decks in Programming
See All in Programming
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
Quine, Polyglot, 良いコード
qnighy
4
640
Amazon Qを使ってIaCを触ろう!
maruto
0
410
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
RubyLSPのマルチバイト文字対応
notfounds
0
120
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
Ethereum_.pdf
nekomatu
0
460
Remix on Hono on Cloudflare Workers
yusukebe
1
290
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
120
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
Making Projects Easy
brettharned
115
5.9k
Thoughts on Productivity
jonyablonski
67
4.3k
Building an army of robots
kneath
302
43k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Designing for humans not robots
tammielis
250
25k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
KATA
mclloyd
29
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Statistics for Hackers
jakevdp
796
220k
Producing Creativity
orderedlist
PRO
341
39k
Transcript
ASP.NetでAPIを作ってみた 2014.01/22 C#福岡 第3回勉強会
About me
らこ Suguru Inatomi Twitter:@laco0416 学生 C#とかJavaとかPythonとか http://lacolaco.net
What ‘s ASP.Net Web API?
One ASP.NET (Scott Hanselman氏のブログより)
Microsoft ASP.NET Web API 現行バージョン: 4.0.30506 マルチプラットフォームのHTTPサービスフレームワーク 2012年8月に誕生したばかりの新しい技術 なんと20日にWeb API
2.1リリース http://blogs.msdn.com/b/webdev/archive/2014/01/20/announcing-the- release-of-asp-net-mvc-5-1-asp-net-web-api-2-1-and-asp-net-web- pages-3-1.aspx
ASP.NET Web API (@ITより)
Let’s make it!
Step-1 Make Project
None
None
Step-2 Make Controller
ModelsController Controller class -> ValuesController API endpoint -> http://lacolaco.net/api/values コントローラ名からURLルーティングを
自動でやってくれる
None
None
これだけですでに実行可能 RESTfulなインタフェースが すでに定義済み いたれりつくせり
メソッド名とHTTPのメソッド が対応しているので 名前の変更はNG 使わないAPIを消すのはOK
Step-3 Receive params
引数無しGet 主にデータストアから 全レコードを返す時など。
引数の規則 ・プリミティブ型はUriから ・それ以外はBodyから ・[FromBody]をつけると プリミティブでもBodyから読む ・[FromUri]をつけると オブジェクトでもUriから読む
Uriパラメータ受け取り ・仮引数名がそのままkeyになる api/samples?id=1 ・引数がidだけの時は api/samples/1と api/samples?id=1 は同じ
None
Bodyパラメータ受け取り ・Bodyから受け取れるのは 1つの引数のみ ・モデルクラスを用意して jsonのオブジェクトを受け取る ことができる
Body { id : 0 , value : “CSharp”} ↓
C# new Sample() { id = 0, value = “CSharp”};
Step-4 Run
None
API仕様のページまで 作ってくれる
My product IT Event API
直近1ヶ月のIT系勉強会を返すAPI 文字列で検索も可能 http://api.lacolaco.net/events?query=福岡
ここで終わりだったんですが
Web API 2.1リリース ASP.Net MVC 5.1とWeb API 2.1が同時に正式リリース。 VS 2013
VS 2013 Update 1へのアプデが必要 VS 2012 ASP.NET and Web Tools 2013.1 for Visual Studio 2012の インストールが必要
Web API 2 : VS2013でのみ利用可能だった ↓ Web API 2.1 :
VS2012でも利用可能に。 Install-Package Microsoft.AspNet.WebApi -Version 5.1.0 ・ Global Error Handling (エラーハンドリングを一箇所にまとめられるようになった) ・ Attribute Routing Improvements (属性によるルーティングの改善?) ・ Help Page Improvements (APIヘルプページの改善) ・ IgnoreRoute Support ・ BSON Media-Type Formatter (BSONオブジェクトに対応) ・ Better Support for Async Filters ・ Query Parsing for the Client Formatting Library (System.Net.Http.Formattingの拡張) まだ詳細を把握できていないので詳しくは原文を参照してください http://www.asp.net/web-api/overview/releases/whats-new-in-aspnet-web-api-21
Thank you for listening