https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/php-laravel/ */ namespace OpenAPI\Server\Http\Controllers; use Crell\Serde\SerdeCommon; use Illuminate\Routing\Controller; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use OpenAPI\Server\Api\DefaultApiInterface; class DefaultController extends Controller { /** * Constructor */ public function __construct( private readonly DefaultApiInterface $api, private readonly SerdeCommon $serde = new SerdeCommon(), ) { } /** * Operation fooGet * * . * */ public function fooGet(Request $request): JsonResponse { $validator = Validator::make( array_merge( [ ], $request->all(), ), [ ], ); if ($validator->fails()) { return response()->json(['error' => 'Invalid input'], 400); } try { $apiResult = $this->api->fooGet(); } catch (\Exception $exception) { // This shouldn't happen return response()->json(['error' => $exception->getMessage()], 500); } if ($apiResult instanceof \OpenAPI\Server\Model\FooGetDefaultResponse) { return response()->json($this->serde->serialize($apiResult, format: 'array'), 0); } // This shouldn't happen return response()->abort(500); } }