There are some common practices one should take care of while designing REST APIs.
There is also a video version of this post.
1. Use descriptive names for resources
- ❌ /api/getAllBooks
- ❌ /api/retrieveBooks
- ❌ /api/manageBooks
- ❌ /api/process
- ✅ /api/books
2. Use nouns not verbs
- ❌ /api/mangage-books
- ✅ /api/books
3. Use plural nouns
❌ Singular Nouns | ✅ Plural Nouns |
---|---|
/api/book | /api/books |
/api/movie | /api/movies |
/api/person | /api/people |
/api/customer | /api/customers |
4. Use hyphens (-) in url for better readabilty
- ❌ /api/useraccounts
- ✅ /api/user-accounts
5. Never use crud method names in url
HttpMethod | ❌❌❌ | ✅✅✅ |
---|---|---|
GET | /api/books/GetAllBooks | /api/books |
GET | /api/books/GetBookById/{id} | /api/books/{id} |
POST | /api/books/CreateBook | /api/books |
PUT | /api/books/UpdateBook/{id} | /api/books/{id} |
DELETE | /api/books/DeleteBook/{id} | /api/books/{id} |
6. Use http method properly
HttpMethod | Endpoint | Description |
---|---|---|
GET | /api/books | Indicates a get resources |
GET | /api/books/{id} | Indicates a get resource with id |
POST | /api/books | Indicates creating a resource |
PUT | /api/books/{id} | Indicates updating a resource |
DELETE | /api/books/{id} | Indicates deleting a resource |
7. Use Http StatusCodes Correctly
These are the most commonly used status codes.
[Read More]