ThatDev.Shparki

REST API Design Principles

Best practices for designing intuitive REST APIs.

· 1 min read
api rest backend

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Resource Naming

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.

Use Nouns

GET /users
GET /users/123
POST /users

Avoid Verbs

# Bad
GET /getUsers
POST /createUser

# Good
GET /users
POST /users

HTTP Methods

Duis aute irure dolor in reprehenderit.

MethodPurpose
GETRead
POSTCreate
PUTReplace
PATCHUpdate
DELETERemove

Status Codes

Excepteur sint occaecat cupidatat non proident.

Success Codes

  • 200 OK
  • 201 Created
  • 204 No Content

Error Codes

  • 400 Bad Request
  • 401 Unauthorized
  • 404 Not Found
  • 500 Server Error

Versioning

Lorem ipsum dolor sit amet.

URL Versioning

/api/v1/users
/api/v2/users

Header Versioning

Accept: application/vnd.api+json;version=1

Pagination

Sed do eiusmod tempor incididunt.

{
  "data": [...],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 100
  }
}

Conclusion

Good API design improves developer experience.