Upload
delphicon
View
308
Download
2
Embed Size (px)
Citation preview
REST (RESTful) API
What is REST?
The five key principles are:• Give every “thing” an ID• Link things together• Use standard methods• Resources with multiple representations• Communicate statelessly
HTTP methods
Without REST
With REST
Build simple RESTful API
• /getAllMembers• /getAllCertificatedMembers• /getMember/1• /newMember• /saveMember
It’s not OK
It’s OK• POST /Members — Creation of a new member• GET /Members — A list of all members in the system• PUT /Members — An update to the all members • DELETE /Members — Delete all members• POST /Members/12345 — Return error (member 12345
are created)• GET /Members/12345 — Show member with ID 12345• PUT /Members/12345 — Edit member with ID12345• DELETE /Members/12345 — Delete
Hide the difficult method of the mark “?”
• GET /members?age=20&city=VN&location=park• POST /members?age=25&city=VN
Support for multiple formatsLike this :• /members.json• /members/1234.json
Or support multiple type of clients :• /members.ios• /members/1234.web
ASP.NET WEB API
Controller vs ApiControllerController ApiController
Controller vs ApiController
MVC Controller Default Route
API Controller Default Route
Asp.Net Web API VS Asp.Net MVC
Asp.Net Web API• to create HTTP services with
easy way that returns only data• returning data in particular
format like JSON,XML• the request are mapped to the
actions based on HTTP verbs
Asp.Net MVC• to create web applications that
returns both views and data• only return data in JSON format• it is mapped to actions name.
Web API Parameter Bindings• From Query-String: Using Model Binding• From Body: Using different data formats like JSON, XML.
Routing
URL: localhost:3333/test/users/11/tweets
Status Code