From 5f41acfe79c6553ac264397dbf3ab77343815fd0 Mon Sep 17 00:00:00 2001 From: Gijs Blanken <27724177+gijs-blanken@users.noreply.github.com> Date: Sun, 6 Apr 2025 18:46:33 +0200 Subject: [PATCH] add #report when handling exceptions in the api (#21023) --- .../php-laravel/api_controller.mustache | 1 + .../Controllers/AnotherFakeController.php | 1 + .../Http/Controllers/DefaultController.php | 1 + .../FakeClassnameTags123Controller.php | 1 + .../Http/Controllers/FakeController.php | 22 +++++++++++++++++++ .../Http/Controllers/PetController.php | 9 ++++++++ .../Http/Controllers/StoreController.php | 4 ++++ .../Http/Controllers/UserController.php | 8 +++++++ 8 files changed, 47 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/php-laravel/api_controller.mustache b/modules/openapi-generator/src/main/resources/php-laravel/api_controller.mustache index af281511b3d..8fec1bb188c 100644 --- a/modules/openapi-generator/src/main/resources/php-laravel/api_controller.mustache +++ b/modules/openapi-generator/src/main/resources/php-laravel/api_controller.mustache @@ -91,6 +91,7 @@ class {{controllerName}} extends Controller $apiResult = $this->api->{{operationId}}({{#allParams}}${{paramName}}{{^-last}}, {{/-last}}{{/allParams}}); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } diff --git a/samples/server/petstore/php-laravel/Http/Controllers/AnotherFakeController.php b/samples/server/petstore/php-laravel/Http/Controllers/AnotherFakeController.php index 048986a011b..a824abeb16a 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/AnotherFakeController.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/AnotherFakeController.php @@ -70,6 +70,7 @@ class AnotherFakeController extends Controller $apiResult = $this->api->call123TestSpecialTags($client); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } diff --git a/samples/server/petstore/php-laravel/Http/Controllers/DefaultController.php b/samples/server/petstore/php-laravel/Http/Controllers/DefaultController.php index 3943689fb13..85bb861e8b2 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/DefaultController.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/DefaultController.php @@ -68,6 +68,7 @@ class DefaultController extends Controller $apiResult = $this->api->fooGet(); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } diff --git a/samples/server/petstore/php-laravel/Http/Controllers/FakeClassnameTags123Controller.php b/samples/server/petstore/php-laravel/Http/Controllers/FakeClassnameTags123Controller.php index aa7fe5a0618..71bb59d19e6 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/FakeClassnameTags123Controller.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/FakeClassnameTags123Controller.php @@ -70,6 +70,7 @@ class FakeClassnameTags123Controller extends Controller $apiResult = $this->api->testClassname($client); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } diff --git a/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php b/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php index 7747a71604b..c21936ec533 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/FakeController.php @@ -68,6 +68,7 @@ class FakeController extends Controller $apiResult = $this->api->fakeBigDecimalMap(); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -106,6 +107,7 @@ class FakeController extends Controller $apiResult = $this->api->fakeHealthGet(); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -150,6 +152,7 @@ class FakeController extends Controller $apiResult = $this->api->fakeHttpSignatureTest($pet, $query1, $header1); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -190,6 +193,7 @@ class FakeController extends Controller $apiResult = $this->api->fakeOuterBooleanSerialize($body); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -230,6 +234,7 @@ class FakeController extends Controller $apiResult = $this->api->fakeOuterCompositeSerialize($outerComposite); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -270,6 +275,7 @@ class FakeController extends Controller $apiResult = $this->api->fakeOuterNumberSerialize($body); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -310,6 +316,7 @@ class FakeController extends Controller $apiResult = $this->api->fakeOuterStringSerialize($body); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -350,6 +357,7 @@ class FakeController extends Controller $apiResult = $this->api->fakePropertyEnumIntegerSerialize($outerObjectWithEnumProperty); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -390,6 +398,7 @@ class FakeController extends Controller $apiResult = $this->api->testAdditionalPropertiesReference($requestBody); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -430,6 +439,7 @@ class FakeController extends Controller $apiResult = $this->api->testBodyWithBinary($body); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -470,6 +480,7 @@ class FakeController extends Controller $apiResult = $this->api->testBodyWithFileSchema($fileSchemaTestClass); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -512,6 +523,7 @@ class FakeController extends Controller $apiResult = $this->api->testBodyWithQueryParams($query, $user); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -552,6 +564,7 @@ class FakeController extends Controller $apiResult = $this->api->testClientModel($client); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -672,6 +685,7 @@ class FakeController extends Controller $apiResult = $this->api->testEndpointParameters($number, $double, $patternWithoutDelimiter, $byte, $integer, $int32, $int64, $float, $string, $binary, $date, $dateTime, $password, $callback); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -754,6 +768,7 @@ class FakeController extends Controller $apiResult = $this->api->testEnumParameters($enumHeaderStringArray, $enumHeaderString, $enumQueryStringArray, $enumQueryString, $enumQueryInteger, $enumQueryDouble, $enumQueryModelArray, $enumFormStringArray, $enumFormString); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -829,6 +844,7 @@ class FakeController extends Controller $apiResult = $this->api->testGroupParameters($requiredStringGroup, $requiredBooleanGroup, $requiredInt64Group, $stringGroup, $booleanGroup, $int64Group); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -869,6 +885,7 @@ class FakeController extends Controller $apiResult = $this->api->testInlineAdditionalProperties($requestBody); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -909,6 +926,7 @@ class FakeController extends Controller $apiResult = $this->api->testInlineFreeformAdditionalProperties($testInlineFreeformAdditionalPropertiesRequest); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -959,6 +977,7 @@ class FakeController extends Controller $apiResult = $this->api->testJsonFormData($param, $param2); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -999,6 +1018,7 @@ class FakeController extends Controller $apiResult = $this->api->testNullable($childWithNullable); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -1077,6 +1097,7 @@ class FakeController extends Controller $apiResult = $this->api->testQueryParameterCollectionFormat($pipe, $ioutil, $http, $url, $context, $allowEmpty, $language); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -1117,6 +1138,7 @@ class FakeController extends Controller $apiResult = $this->api->testStringMapReference($requestBody); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } diff --git a/samples/server/petstore/php-laravel/Http/Controllers/PetController.php b/samples/server/petstore/php-laravel/Http/Controllers/PetController.php index fddc6f97e8c..098346fd1e7 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/PetController.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/PetController.php @@ -70,6 +70,7 @@ class PetController extends Controller $apiResult = $this->api->addPet($pet); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -122,6 +123,7 @@ class PetController extends Controller $apiResult = $this->api->deletePet($petId, $apiKey); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -170,6 +172,7 @@ class PetController extends Controller $apiResult = $this->api->findPetsByStatus($status); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -220,6 +223,7 @@ class PetController extends Controller $apiResult = $this->api->findPetsByTags($tags); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -268,6 +272,7 @@ class PetController extends Controller $apiResult = $this->api->getPetById($petId); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -316,6 +321,7 @@ class PetController extends Controller $apiResult = $this->api->updatePet($pet); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -381,6 +387,7 @@ class PetController extends Controller $apiResult = $this->api->updatePetWithForm($petId, $name, $status); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -438,6 +445,7 @@ class PetController extends Controller $apiResult = $this->api->uploadFile($petId, $additionalMetadata, $file); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -492,6 +500,7 @@ class PetController extends Controller $apiResult = $this->api->uploadFileWithRequiredFile($petId, $requiredFile, $additionalMetadata); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } diff --git a/samples/server/petstore/php-laravel/Http/Controllers/StoreController.php b/samples/server/petstore/php-laravel/Http/Controllers/StoreController.php index 195211801a7..5b8dd4d1b09 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/StoreController.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/StoreController.php @@ -73,6 +73,7 @@ class StoreController extends Controller $apiResult = $this->api->deleteOrder($orderId); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -115,6 +116,7 @@ class StoreController extends Controller $apiResult = $this->api->getInventory(); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -161,6 +163,7 @@ class StoreController extends Controller $apiResult = $this->api->getOrderById($orderId); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -209,6 +212,7 @@ class StoreController extends Controller $apiResult = $this->api->placeOrder($order); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } diff --git a/samples/server/petstore/php-laravel/Http/Controllers/UserController.php b/samples/server/petstore/php-laravel/Http/Controllers/UserController.php index 0b8d532fe6d..c072354b645 100644 --- a/samples/server/petstore/php-laravel/Http/Controllers/UserController.php +++ b/samples/server/petstore/php-laravel/Http/Controllers/UserController.php @@ -70,6 +70,7 @@ class UserController extends Controller $apiResult = $this->api->createUser($user); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -110,6 +111,7 @@ class UserController extends Controller $apiResult = $this->api->createUsersWithArrayInput($user); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -150,6 +152,7 @@ class UserController extends Controller $apiResult = $this->api->createUsersWithListInput($user); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -193,6 +196,7 @@ class UserController extends Controller $apiResult = $this->api->deleteUser($username); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -240,6 +244,7 @@ class UserController extends Controller $apiResult = $this->api->getUserByName($username); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -298,6 +303,7 @@ class UserController extends Controller $apiResult = $this->api->loginUser($username, $password); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -340,6 +346,7 @@ class UserController extends Controller $apiResult = $this->api->logoutUser(); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); } @@ -381,6 +388,7 @@ class UserController extends Controller $apiResult = $this->api->updateUser($username, $user); } catch (\Exception $exception) { // This shouldn't happen + report($exception); return response()->json(['error' => $exception->getMessage()], 500); }