api-ecosystem-for-laravel / dingo-api

Replacement repo for dingo/api
BSD 3-Clause "New" or "Revised" License
265 stars 58 forks source link

Laravel 9 support #16

Closed prady00 closed 2 years ago

prady00 commented 2 years ago
Q A
Bug? no
New Feature? yes
Framework Laravel
Framework version 9
Package version 3.x.y
PHP version 8

Actual Behaviour

I want to test this package with Laravel 9. Any ideas how I can do it?

Expected Behaviour

Steps to Reproduce

specialtactics commented 2 years ago

If you wish to contribute to this, I reckon the best thing to do is fork it (even locally), and just change the deps to laravel 9 and see what happens, see if unit tests run, see what needs to be fixed, etc.

We will for sure need a new application provider for laravel 9 at minimum.

I plan to work on this soon, but any help is much appreciated!

prady00 commented 2 years ago

Okay, I'll set it up with the Laravel 9 dependencies. Any example of an application provider for laravel 9, you know? or some getting started link will also help.

specialtactics commented 2 years ago

Check out tests/stubs and the Application stubs for each version, we will need a new one for 9.

dmason30 commented 2 years ago

@specialtactics Had a brief look. We will need dingo/blueprint (or a new fork) to be updated to Laravel 9 first.

Also laravel/lumen-framework doesn't seem to be getting a v9 release anytime soon.

vytsci commented 2 years ago

I need to lead migration from PHP7 to PHP8 in my company. Laravel 8 required a workaround to work properly with PHP8, so Laravel 9 is needed. The solution is needed ASAP, we are even considering removal of Dingo API as its history with updates and such a huge and heavy integration into Laravel code is always behind the update schedule. Is this project under active maintenance?

tdavidsonas88 commented 2 years ago

After Laravel project upgrade to PHP8 and laravel 9 and fixing composer dependencies on all API endpoints started getting: There is currently no session available.

Full backtrace:

{ "message": "There is currently no session available.", "status_code": 500, "debug": { "line": 515, "file": "/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Request.php", "class": "Symfony\\Component\\HttpFoundation\\Exception\\SessionNotFoundException", "trace": [ "#0 /var/www/html/vendor/dingo/api/src/Http/Request.php(39): Illuminate\\Http\\Request->getSession()", "#1 /var/www/html/vendor/dingo/api/src/Http/Middleware/Request.php(99): Dingo\\Api\\Http\\Request->createFromIlluminate(Object(Illuminate\\Http\\Request))", "#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", "#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))", "#6 /var/www/html/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))", "#7 {main}" ] } }

Maybe somebody has an idea how to solve this issue: https://stackoverflow.com/questions/72215735/how-to-fix-there-is-currently-no-session-available-after-an-api-request-call-t

Also tried to use this package: api-ecosystem-for-laravel/dingo-api instead of dingo-api but when applied it had composer dependencies issues.

tdavidsonas88 commented 2 years ago

@vytsci https://github.com/api-ecosystem-for-laravel/dingo-api/pull/18

prady00 commented 2 years ago

@specialtactics can you please accept PR for this? #18

prady00 commented 2 years ago

@specialtactics - are you planning to move the wiki doc to this account as well or it would live on the old account?

specialtactics commented 2 years ago

Merged, v4.0.0 tag.

@prady00 Good question, I do think we need to move it here.