slim-openapi
Basics • Settings • Validation • Extras
Available settings
| Setting | Type | Default |
|---|---|---|
controller_method |
boolean |
false |
controller_prefix |
string |
"" |
route_bind |
boolean |
false |
strict |
boolean |
false |
validate_request |
boolean |
false |
validate_response |
boolean |
false |
How to use
OpenApi constructor takes array of settings as second aargument.
use Phrity\Slim\OpenApi;
use Slim\Factory\AppFactory;
$slim = AppFactory::create();
$openapi = new OpenApi('openapi.json', [
'controller_method' => true,
'controller_prefix' => "Test/",
'route_bind' => true,
'strict' => true,
]);
$openapi->route($slim);
$slim->run();
Descriptions
controller_method
If set to true and method is not defined in operationId, requests will be mapped to methods that correspond to HTTP methods.
Standard HTTP methods are get, post, put, delete, head, patch and options.
If method is defined in schema, this setting will have no effect.
See example.
controller_prefix
Will prefix operationId when mapping container classes. Typically used to hide namespace paths from OpenApi schema.
See example.
route_bind
Will attach corresponding OpenApi route as a request attribute.
It can then be accessed in your controller as openapi-route.
class MyController
{
public function get($request, $response, array $arguments)
{
$route = $request->getAttribute('openapi-route');
return $response;
}
}
strict
Will validate OpenApi schema when loaded, and throw RuntimeException if schema is invalid.
validate_request
Will add middleware that validates incoming Request, and throws Exception if invalid.
See example.
validate_response
Will add middleware that validates outgoing Response, and throws Exception if invalid.
See example.