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 formats
Like this :
• /members.json
• /members/1234.json
Or support multiple type of
clients :
• /members.ios
• /members/1234.web
ASP.NET WEB API
Controller vs ApiController
Controller 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
RESTful API and ASP.NET

RESTful API and ASP.NET

  • 1.
  • 2.
  • 3.
    The five keyprinciples are: • Give every “thing” an ID • Link things together • Use standard methods • Resources with multiple representations • Communicate statelessly
  • 4.
  • 5.
  • 6.
  • 7.
    Build simple RESTfulAPI • /getAllMembers • /getAllCertificatedMembers • /getMember/1 • /newMember • /saveMember It’s not OK
  • 8.
    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
  • 9.
    Hide the difficultmethod of the mark “?” • GET /members?age=20&city=VN&location=park • POST /members?age=25&city=VN
  • 10.
    Support for multipleformats Like this : • /members.json • /members/1234.json Or support multiple type of clients : • /members.ios • /members/1234.web
  • 11.
  • 12.
  • 13.
    Controller vs ApiController MVCController Default Route API Controller Default Route
  • 14.
    Asp.Net Web APIVS 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.
  • 15.
    Web API ParameterBindings • From Query-String: Using Model Binding • From Body: Using different data formats like JSON, XML.
  • 16.
  • 17.
  • 19.