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.5k
Pub使ってますか?
laco0416
1
1.4k
OSC_F_2013 LT
laco0416
0
130
Other Decks in Programming
See All in Programming
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
0
820
Git Rebase
bkuhlmann
11
1.6k
"config" ってなんだ? / What is "config"?
okashoi
0
240
ONE WEDGE_company_guide
1wedge_one
0
470
Site Reliability Engineering for GMO
pyama86
7
1k
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
Anthropic Cookbook のおすすめレシピ
schroneko
7
900
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
820
Semantic search with Django and pgvector
pauloxnet
0
240
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
680
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Docker and Python
trallard
34
2.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
The Invisible Side of Design
smashingmag
294
49k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
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