REST

  • Representational State Transfer
  • Software Architectural Style
  • Stateless!
  • Standardized Operations
  • Uniform Interface

Stateless

  • Application State Stored by each Client
  • Resource State Stored by Server
  • Server Does Not Track Application State
  • Each Request is Independent!

Uniform Interface

  • Resource ID in Requests
  • Easy Manipulation
  • Self Descriptive Messages
  • Hypermedia as the engine of application state (HATEOAS)
    All Application Info from Server!

REST and CRUD

  • Read All - GET /students
  • Read One - GET /students/{ID}
  • Create - POST /students
  • Update - POST or PUT /students/{ID}
  • Destroy - DELETE /students/[ID]

Example - Canvas!

Read All

Create

Payload

Read One

Edit

Update

Payload

Delete