New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(laravel): laravel component #5882
base: main
Are you sure you want to change the base?
Conversation
not working for the moment. |
Co-authored-by: romainallanot <romain@llanot.com>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Is there a specific way that we need to add serialization support for other types other than [2024-04-26 20:34:38] local.ERROR: Serialization for the format "jsonapi" is not supported. {"exception":"[object] (Symfony\\Component\\Serializer\\Exception\\UnsupportedFormatException(code: 0): Serialization for the format \"jsonapi\" is not supported. at /Users/steve/Herd/laravel-api-platform/vendor/symfony/serializer/Serializer.php:134)
[stacktrace]
#0 /Users/steve/Herd/core/src/State/Processor/SerializeProcessor.php(65): Symfony\\Component\\Serializer\\Serializer->serialize(Object(ApiPlatform\\Laravel\\Eloquent\\Paginator), 'jsonapi', Array)
#1 /Users/steve/Herd/core/src/State/Processor/WriteProcessor.php(42): ApiPlatform\\State\\Processor\\SerializeProcessor->process(Object(ApiPlatform\\Laravel\\Eloquent\\Paginator), Object(ApiPlatform\\Metadata\\GetCollection), Array, Array)
#2 /Users/steve/Herd/core/src/Hydra/State/HydraLinkProcessor.php(52): ApiPlatform\\State\\Processor\\WriteProcessor->process(Object(ApiPlatform\\Laravel\\Eloquent\\Paginator), Object(ApiPlatform\\Metadata\\GetCollection), Array, Array)
#3 /Users/steve/Herd/core/src/Laravel/Controller/ApiPlatformController.php(90): ApiPlatform\\Hydra\\State\\HydraLinkProcessor->process(Object(ApiPlatform\\Laravel\\Eloquent\\Paginator), Object(ApiPlatform\\Metadata\\GetCollection), Array, Array)
#4 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): ApiPlatform\\Laravel\\Controller\\ApiPlatformController->__invoke(Object(Illuminate\\Http\\Request))
#5 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction('__invoke', Array)
#6 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Route.php(259): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(ApiPlatform\\Laravel\\Controller\\ApiPlatformController), '__invoke')
#7 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#8 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Router.php(806): Illuminate\\Routing\\Route->run()
#9 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#10 /Users/steve/Herd/core/src/Laravel/ApiPlatformMiddleware.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): ApiPlatform\\Laravel\\ApiPlatformMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure), '_api_/api/books...')
#12 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#13 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Router.php(805): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#14 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#15 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Router.php(748): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#16 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Routing/Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#17 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#18 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#19 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#35 /Users/steve/Herd/laravel-api-platform/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#36 /Users/steve/Herd/laravel-api-platform/public/index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#37 /Applications/Herd.app/Contents/Resources/valet/server.php(151): require('/Users/steve/He...')
#38 {main}
"} |
https://github.com/api-platform/core/pull/5882/files#diff-1f34d8685c9bbcc2037ef47c41cb6dac916a0fe6fc06e2047b9635e35fa13527R396 it's missing jsonapi/hal normalizers indeed. |
I assume you know how to do this? I am still getting up to speed with some of these things! |
Laravel support in API Platform
TODO:
src/Laravel
to create functional testsapiProperties
#5885)Note that this is still in development there are a few things missing (notably tests \o/).
To try this:
composer update
, I added#[ApiResource]
on the model and change theException\Handler
to useApiPlatform\Laravel\Exception\Handler
.There are many things left tbd (filters, pagination, graphql etc).