REST was NEVER about CRUD
Blog post from Tyk
Jennifer Craig's article emphasizes that while CRUD (Create, Read, Update, Delete) operations are a common pattern in REST-based APIs, they are not a requirement for RESTful API design. REST is defined by constraints like a uniform interface, client-server separation, statelessness, layered systems, cacheability, and optional code-on-demand, rather than a strict adherence to CRUD operations. The article explores alternative patterns and strategies for API design, such as extending CRUD with additional lifecycle endpoints, utilizing functional resources for specific tasks, designing transactional resources for complex workflows, using singleton resources, and implementing bulk and batch processing for efficiency. The zoom-embed pattern is highlighted as a method to optimize client-server interaction by allowing clients to specify the data they need, reducing unnecessary data transfer. By understanding these varied design patterns, API developers can create more dynamic and flexible APIs that cater to evolving needs, moving beyond the limitations of simple CRUD operations.