Domain Model Driven
When designing the path structure of a RESTful API, we can refer to the domain model.
Choose Proper HTTP Methods
Defining a few basic HTTP Methods can simplify the API design. For example, PATCH can often be a problem for teams.
Implement Idempotence Properly
Designing for idempotence in advance can improve the robustness of an API. GET method is idempotent, but POST needs to be designed properly to be idempotent.
Choose Proper HTTP Status Codes
Define a limited number of HTTP status codes to use to simplify application development.
Versioning
Designing the version number for the API in advance can simplify upgrade work.
Semantic Paths
Using semantic paths makes APIs easier to understand, so that users can find the correct APIs in the documentation.
Batch Processing
Use batch/bulk as a keyword and place it at the end of the path.
Query Language
Designing a set of query rules makes the API more flexible. For example, pagination, sorting, filtering etc.