Advanced features
Learn more about Strapi 5 advanced features
Learn more about Strapi 5 advanced features
All elements of Strapi's back end, like routes, policies, middlewares, controllers, services, models, requests, responses, and webhooks, can be customized.
Controllers are JavaScript files that contain a set of methods, called actions, reached by the client according to the requested route. Whenever a client requests the route, the action performs the business logic code and sends back the response. Controllers represent the C in the model-view-controller (MVC) pattern.
Learn how to authenticate use custom services and controllers using our FoodAdvisor example
Learn more about Strapi 5 customization possibilities
The diagram represents a simplified version of how a request travels through the Strapi back end, with global middlewares highlighted. The backend customization introduction page includes a complete, interactive diagram.
Strapi models (i.e. content-types, components, and dynamic zones) define a representation of the data structure.
Reference documentation for Strapi's Plugin SDK commands
Learn more about the structure of a Strapi plugin
Strapi policies are functions that execute specific logic on each request before it reaches the controller. Policies can be customized according to your needs.
Learn more about requests and responses for Strapi, the most popular headless CMS.
Strapi routes handle requests to your content and are auto-generated for your content-types. Routes can be customized according to your needs.
Strapi services are a set of reusable functions, useful to simplify controllers logic.
Strapi webhooks are user-defined HTTP callbacks used by an application to notify other applications that an event occurred.