app > api¶
Path: metadata > app > api.
As of v7.4.
Definitions for API framework.
Provides the ability to add middlewares for all requests, specific routes, controllers and controller actions. Supporting the PSR-15 standard means that it's possible to use 3rd party middlewares, like these. If a middleware you want to use has dependencies in a constructor, use DI binding to resolve them.
Example:
{
"globalMiddlewareClassNameList": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test1",
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test2"
],
"routeMiddlewareClassNameListMap": {
"get_/:controller": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test3"
]
},
"actionMiddlewareClassNameListMap": {
"get_/Activities": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test3"
]
},
"controllerMiddlewareClassNameListMap": {
"Contact": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test4"
]
},
"controllerActionMiddlewareClassNameListMap": {
"Contact_get_index": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test5"
],
"Contact_post_create": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test6"
],
"Contact_put_update": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test7"
],
"Contact_get_read": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test8"
],
"Contact_delete_delete": [
"Espo\\Custom\\Classes\\ApiMiddlewares\\Test9"
]
}
}
globalMiddlewareClassNameList¶
class-string<Psr\Http\Server\MiddlewareInterface>[]
A class list of global middlewares. Global middlewares applied for all API requests. Processed before authentication.
routeMiddlewareClassNameListMap¶
Object.<string, class-string<Psr\Http\Server\MiddlewareInterface>[]>
Middlewares for specific routes. Keys are composed in the form: {method}_{route}
. Processed before authentication.
actionMiddlewareClassNameListMap¶
Object.<string, class-string
Middlewares for routes with actionClassName. Keys are composed in the form: {method}_{route}
. Processed after authentication.
controllerMiddlewareClassNameListMap¶
Object.<string, class-string
Middlewares for specific controllers. A controller-name => class-string-list map. Processed after authentication.
controllerActionMiddlewareClassNameListMap¶
Object.<string, class-string
Middlewares for specific controller actions. Keys are composed in the form: {ControllerName}_{method}_{actionName}
. Processed after authentication.