In full-stack development, nailing down the API design early on is important. The API design itself is closely correlated with how your data contract will look. You may create RESTful endpoints or use the next-gen GraphQL technology. In designing your API, frontend and backend developers should closely collaborate to achieve shared design goals. Some high-level goals are listed as follows:
- Minimize data transmitted between client and server
- Stick to well-established design patterns (that is, pagination)
- Design to reduce business logic present in the client
- Flatten data structures
- Do not expose database keys or relationships
- Version endpoints from the get go
- Design around major data components
It is important not to reinvent the wheel and take a disciplined, if not strict, approach to designing your API. The downstream effect of missteps in API design can be profound...