Back-end customization
All elements of Strapi's back end, like routes, policies, middlewares, controllers, services, models, requests, responses, and webhooks, can be customized.
All elements of Strapi's back end, like routes, policies, middlewares, controllers, services, models, requests, responses, and webhooks, can be customized.
Controllers bundle actions that handle business logic for each route within Strapi’s MVC pattern. This documentation demonstrates generating controllers, extending core ones with createCoreController, and delegating heavy logic to services.
Learn how to authenticate use custom services and controllers using our FoodAdvisor example
Learn more about Strapi 5 customization possibilities
Middlewares alter the request or response flow at application or API levels. This documentation distinguishes global versus route middlewares and illustrates custom implementations with generation patterns.
Strapi models (i.e. content-types, components, and dynamic zones) define a representation of the content structure.
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.
Overview of the Strapi Server API for plugins, with entry file, lifecycle hooks, routes, controllers, services, policies, middlewares, and configuration.
Define default plugin options, validate user-provided values, and read plugin configuration at runtime.
Declare and register content-types in a Strapi plugin and access them at runtime through the Document Service API.
Handle HTTP requests in plugin controllers and organize reusable business logic in plugin services.
Access and reuse plugin controllers, services, policies, and other server resources using top-level and global getters.
Guard plugin routes with policies and intercept requests with middlewares in the Strapi plugin Server API.
Expose plugin endpoints as Content API or admin routes, with full control over auth, policies, and route configuration.
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.