Advanced features
Strapi provides advanced built-in features for developers who'd like to get the best of the backend server, plugins, and database. Click on any of the following cards to read more about a specific feature:
Strapi provides advanced built-in features for developers who'd like to get the best of the backend server, plugins, and database. Click on any of the following cards to read more about a specific feature:
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
Strapi includes 2 main components:
In Strapi, 2 middleware concepts coexist:
Strapi models (i.e. content-types, components, and dynamic zones) define a representation of the data structure.
Reference documentation for Strapi's Plugin CLI 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.