RESTful API and ASP.NET

Preview:

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

Recommended