mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-02 21:50:55 +00:00
correction of alias to generate php-symfony (#2547)
* [BUG][php-symfony] Fix alias generation * fix * add bundle alias option and alias logic when it is not defined * run bin/utils/ensure-up-to-date to update php-symfony.md
This commit is contained in:
parent
67b3766332
commit
1436ee1da6
@ -20,6 +20,7 @@ sidebar_label: php-symfony
|
||||
|artifactVersion|The version to use in the composer package version field. e.g. 1.2.3| |null|
|
||||
|composerVendorName|The vendor name used in the composer package name. The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. yaypets| |null|
|
||||
|bundleName|The name of the Symfony bundle. The template uses {{bundleName}}| |null|
|
||||
|bundleAlias|The alias of the Symfony bundle. The template uses {{aliasName}}| |null|
|
||||
|composerProjectName|The project name used in the composer package name. The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. petstore-client| |null|
|
||||
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
|
||||
|phpLegacySupport|Should the generated code be compatible with PHP 5.x?| |true|
|
||||
|
@ -35,6 +35,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(PhpSymfonyServerCodegen.class);
|
||||
|
||||
public static final String BUNDLE_NAME = "bundleName";
|
||||
public static final String BUNDLE_ALIAS = "bundleAlias";
|
||||
public static final String COMPOSER_VENDOR_NAME = "composerVendorName";
|
||||
public static final String COMPOSER_PROJECT_NAME = "composerProjectName";
|
||||
public static final String PHP_LEGACY_SUPPORT = "phpLegacySupport";
|
||||
@ -87,6 +88,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg
|
||||
srcBasePath = ".";
|
||||
setInvokerPackage("OpenAPI\\Server");
|
||||
setBundleName("OpenAPIServer");
|
||||
setBundleAlias("open_api_server");
|
||||
modelDirName = "Model";
|
||||
docsBasePath = "Resources" + "/" + "docs";
|
||||
apiDocPath = docsBasePath + "/" + apiDirName;
|
||||
@ -175,6 +177,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg
|
||||
cliOptions.add(new CliOption(COMPOSER_VENDOR_NAME, "The vendor name used in the composer package name." +
|
||||
" The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. yaypets"));
|
||||
cliOptions.add(new CliOption(BUNDLE_NAME, "The name of the Symfony bundle. The template uses {{bundleName}}"));
|
||||
cliOptions.add(new CliOption(BUNDLE_ALIAS, "The alias of the Symfony bundle. The template uses {{aliasName}}"));
|
||||
cliOptions.add(new CliOption(COMPOSER_PROJECT_NAME, "The project name used in the composer package name." +
|
||||
" The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. petstore-client"));
|
||||
cliOptions.add(new CliOption(CodegenConstants.HIDE_GENERATION_TIMESTAMP, CodegenConstants.HIDE_GENERATION_TIMESTAMP_DESC)
|
||||
@ -190,8 +193,15 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg
|
||||
this.bundleName = bundleName;
|
||||
this.bundleClassName = bundleName + "Bundle";
|
||||
this.bundleExtensionName = bundleName + "Extension";
|
||||
}
|
||||
|
||||
public void setBundleAlias(String alias) {
|
||||
if (alias != null && !alias.isEmpty()) {
|
||||
this.bundleAlias = alias.toLowerCase(Locale.ROOT);
|
||||
} else {
|
||||
this.bundleAlias = snakeCase(bundleName).replaceAll("([A-Z]+)", "\\_$1").toLowerCase(Locale.ROOT);
|
||||
}
|
||||
}
|
||||
|
||||
public void setPhpLegacySupport(Boolean support) {
|
||||
this.phpLegacySupport = support;
|
||||
@ -244,6 +254,12 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg
|
||||
additionalProperties.put(BUNDLE_NAME, bundleName);
|
||||
}
|
||||
|
||||
if (additionalProperties.containsKey(BUNDLE_ALIAS)) {
|
||||
this.setBundleAlias((String) additionalProperties.get(BUNDLE_ALIAS));
|
||||
} else {
|
||||
additionalProperties.put(BUNDLE_ALIAS, bundleAlias);
|
||||
}
|
||||
|
||||
if (additionalProperties.containsKey(COMPOSER_PROJECT_NAME)) {
|
||||
this.setComposerProjectName((String) additionalProperties.get(COMPOSER_PROJECT_NAME));
|
||||
} else {
|
||||
|
@ -51,14 +51,14 @@ class OpenAPIServerApiPass implements CompilerPassInterface
|
||||
*/
|
||||
public function process(ContainerBuilder $container) {
|
||||
// always first check if the primary service is defined
|
||||
if (!$container->has('open_apiserver.api.api_server')) {
|
||||
if (!$container->has('open_api_server.api.api_server')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$definition = $container->findDefinition('open_apiserver.api.api_server');
|
||||
$definition = $container->findDefinition('open_api_server.api.api_server');
|
||||
|
||||
// find all service IDs with the open_apiserver.api tag
|
||||
$taggedServices = $container->findTaggedServiceIds('open_apiserver.api');
|
||||
// find all service IDs with the open_api_server.api tag
|
||||
$taggedServices = $container->findTaggedServiceIds('open_api_server.api');
|
||||
|
||||
foreach ($taggedServices as $id => $tags) {
|
||||
foreach ($tags as $tag) {
|
||||
|
@ -52,6 +52,6 @@ class OpenAPIServerExtension extends Extension
|
||||
|
||||
public function getAlias()
|
||||
{
|
||||
return 'open_apiserver';
|
||||
return 'open_api_server';
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ Step 3: Register the routes:
|
||||
|
||||
```yaml
|
||||
# app/config/routing.yml
|
||||
open_apiserver:
|
||||
open_api_server:
|
||||
resource: "@OpenAPIServerBundle/Resources/config/routing.yml"
|
||||
```
|
||||
|
||||
@ -111,7 +111,7 @@ services:
|
||||
acme.my_bundle.api.pet:
|
||||
class: Acme\MyBundle\Api\PetApi
|
||||
tags:
|
||||
- { name: "open_apiserver.api", api: "pet" }
|
||||
- { name: "open_api_server.api", api: "pet" }
|
||||
# ...
|
||||
```
|
||||
|
||||
|
@ -3,143 +3,143 @@
|
||||
# Do not edit the class manually.
|
||||
|
||||
# pet
|
||||
open_apiserver_pet_addpet:
|
||||
open_api_server_pet_addpet:
|
||||
path: /pet
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:addPetAction
|
||||
_controller: open_api_server.controller.pet:addPetAction
|
||||
|
||||
open_apiserver_pet_deletepet:
|
||||
open_api_server_pet_deletepet:
|
||||
path: /pet/{petId}
|
||||
methods: [DELETE]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:deletePetAction
|
||||
_controller: open_api_server.controller.pet:deletePetAction
|
||||
requirements:
|
||||
petId: '\d+'
|
||||
|
||||
open_apiserver_pet_findpetsbystatus:
|
||||
open_api_server_pet_findpetsbystatus:
|
||||
path: /pet/findByStatus
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:findPetsByStatusAction
|
||||
_controller: open_api_server.controller.pet:findPetsByStatusAction
|
||||
|
||||
open_apiserver_pet_findpetsbytags:
|
||||
open_api_server_pet_findpetsbytags:
|
||||
path: /pet/findByTags
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:findPetsByTagsAction
|
||||
_controller: open_api_server.controller.pet:findPetsByTagsAction
|
||||
|
||||
open_apiserver_pet_getpetbyid:
|
||||
open_api_server_pet_getpetbyid:
|
||||
path: /pet/{petId}
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:getPetByIdAction
|
||||
_controller: open_api_server.controller.pet:getPetByIdAction
|
||||
requirements:
|
||||
petId: '\d+'
|
||||
|
||||
open_apiserver_pet_updatepet:
|
||||
open_api_server_pet_updatepet:
|
||||
path: /pet
|
||||
methods: [PUT]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:updatePetAction
|
||||
_controller: open_api_server.controller.pet:updatePetAction
|
||||
|
||||
open_apiserver_pet_updatepetwithform:
|
||||
open_api_server_pet_updatepetwithform:
|
||||
path: /pet/{petId}
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:updatePetWithFormAction
|
||||
_controller: open_api_server.controller.pet:updatePetWithFormAction
|
||||
requirements:
|
||||
petId: '\d+'
|
||||
|
||||
open_apiserver_pet_uploadfile:
|
||||
open_api_server_pet_uploadfile:
|
||||
path: /pet/{petId}/uploadImage
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.pet:uploadFileAction
|
||||
_controller: open_api_server.controller.pet:uploadFileAction
|
||||
requirements:
|
||||
petId: '\d+'
|
||||
|
||||
# store
|
||||
open_apiserver_store_deleteorder:
|
||||
open_api_server_store_deleteorder:
|
||||
path: /store/order/{orderId}
|
||||
methods: [DELETE]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.store:deleteOrderAction
|
||||
_controller: open_api_server.controller.store:deleteOrderAction
|
||||
requirements:
|
||||
orderId: '[a-z0-9]+'
|
||||
|
||||
open_apiserver_store_getinventory:
|
||||
open_api_server_store_getinventory:
|
||||
path: /store/inventory
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.store:getInventoryAction
|
||||
_controller: open_api_server.controller.store:getInventoryAction
|
||||
|
||||
open_apiserver_store_getorderbyid:
|
||||
open_api_server_store_getorderbyid:
|
||||
path: /store/order/{orderId}
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.store:getOrderByIdAction
|
||||
_controller: open_api_server.controller.store:getOrderByIdAction
|
||||
requirements:
|
||||
orderId: '\d+'
|
||||
|
||||
open_apiserver_store_placeorder:
|
||||
open_api_server_store_placeorder:
|
||||
path: /store/order
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.store:placeOrderAction
|
||||
_controller: open_api_server.controller.store:placeOrderAction
|
||||
|
||||
# user
|
||||
open_apiserver_user_createuser:
|
||||
open_api_server_user_createuser:
|
||||
path: /user
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:createUserAction
|
||||
_controller: open_api_server.controller.user:createUserAction
|
||||
|
||||
open_apiserver_user_createuserswitharrayinput:
|
||||
open_api_server_user_createuserswitharrayinput:
|
||||
path: /user/createWithArray
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:createUsersWithArrayInputAction
|
||||
_controller: open_api_server.controller.user:createUsersWithArrayInputAction
|
||||
|
||||
open_apiserver_user_createuserswithlistinput:
|
||||
open_api_server_user_createuserswithlistinput:
|
||||
path: /user/createWithList
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:createUsersWithListInputAction
|
||||
_controller: open_api_server.controller.user:createUsersWithListInputAction
|
||||
|
||||
open_apiserver_user_deleteuser:
|
||||
open_api_server_user_deleteuser:
|
||||
path: /user/{username}
|
||||
methods: [DELETE]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:deleteUserAction
|
||||
_controller: open_api_server.controller.user:deleteUserAction
|
||||
requirements:
|
||||
username: '[a-z0-9]+'
|
||||
|
||||
open_apiserver_user_getuserbyname:
|
||||
open_api_server_user_getuserbyname:
|
||||
path: /user/{username}
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:getUserByNameAction
|
||||
_controller: open_api_server.controller.user:getUserByNameAction
|
||||
requirements:
|
||||
username: '[a-z0-9]+'
|
||||
|
||||
open_apiserver_user_loginuser:
|
||||
open_api_server_user_loginuser:
|
||||
path: /user/login
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:loginUserAction
|
||||
_controller: open_api_server.controller.user:loginUserAction
|
||||
|
||||
open_apiserver_user_logoutuser:
|
||||
open_api_server_user_logoutuser:
|
||||
path: /user/logout
|
||||
methods: [GET]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:logoutUserAction
|
||||
_controller: open_api_server.controller.user:logoutUserAction
|
||||
|
||||
open_apiserver_user_updateuser:
|
||||
open_api_server_user_updateuser:
|
||||
path: /user/{username}
|
||||
methods: [PUT]
|
||||
defaults:
|
||||
_controller: open_apiserver.controller.user:updateUserAction
|
||||
_controller: open_api_server.controller.user:updateUserAction
|
||||
requirements:
|
||||
username: '[a-z0-9]+'
|
||||
|
||||
|
@ -3,48 +3,48 @@
|
||||
# Do not edit the class manually.
|
||||
|
||||
parameters:
|
||||
open_apiserver.serializer: 'OpenAPI\Server\Service\JmsSerializer'
|
||||
open_apiserver.validator: 'OpenAPI\Server\Service\SymfonyValidator'
|
||||
open_api_server.serializer: 'OpenAPI\Server\Service\JmsSerializer'
|
||||
open_api_server.validator: 'OpenAPI\Server\Service\SymfonyValidator'
|
||||
|
||||
services:
|
||||
open_apiserver.api.api_server:
|
||||
open_api_server.api.api_server:
|
||||
class: OpenAPI\Server\Api\ApiServer
|
||||
|
||||
open_apiserver.model.model_serializer:
|
||||
open_api_server.model.model_serializer:
|
||||
class: OpenAPI\Server\Model\ModelSerializer
|
||||
|
||||
open_apiserver.service.serializer:
|
||||
class: '%open_apiserver.serializer%'
|
||||
open_api_server.service.serializer:
|
||||
class: '%open_api_server.serializer%'
|
||||
|
||||
open_apiserver.service.validator:
|
||||
class: '%open_apiserver.validator%'
|
||||
open_api_server.service.validator:
|
||||
class: '%open_api_server.validator%'
|
||||
arguments:
|
||||
- '@validator'
|
||||
|
||||
open_apiserver.controller.pet:
|
||||
open_api_server.controller.pet:
|
||||
class: OpenAPI\Server\Controller\PetController
|
||||
calls:
|
||||
- [setSerializer, ['@open_apiserver.service.serializer']]
|
||||
- [setValidator, ['@open_apiserver.service.validator']]
|
||||
- [setApiServer, ['@open_apiserver.api.api_server']]
|
||||
- [setSerializer, ['@open_api_server.service.serializer']]
|
||||
- [setValidator, ['@open_api_server.service.validator']]
|
||||
- [setApiServer, ['@open_api_server.api.api_server']]
|
||||
tags: ['controller.service_arguments']
|
||||
autowire: true
|
||||
|
||||
open_apiserver.controller.store:
|
||||
open_api_server.controller.store:
|
||||
class: OpenAPI\Server\Controller\StoreController
|
||||
calls:
|
||||
- [setSerializer, ['@open_apiserver.service.serializer']]
|
||||
- [setValidator, ['@open_apiserver.service.validator']]
|
||||
- [setApiServer, ['@open_apiserver.api.api_server']]
|
||||
- [setSerializer, ['@open_api_server.service.serializer']]
|
||||
- [setValidator, ['@open_api_server.service.validator']]
|
||||
- [setApiServer, ['@open_api_server.api.api_server']]
|
||||
tags: ['controller.service_arguments']
|
||||
autowire: true
|
||||
|
||||
open_apiserver.controller.user:
|
||||
open_api_server.controller.user:
|
||||
class: OpenAPI\Server\Controller\UserController
|
||||
calls:
|
||||
- [setSerializer, ['@open_apiserver.service.serializer']]
|
||||
- [setValidator, ['@open_apiserver.service.validator']]
|
||||
- [setApiServer, ['@open_apiserver.api.api_server']]
|
||||
- [setSerializer, ['@open_api_server.service.serializer']]
|
||||
- [setValidator, ['@open_api_server.service.validator']]
|
||||
- [setApiServer, ['@open_api_server.api.api_server']]
|
||||
tags: ['controller.service_arguments']
|
||||
autowire: true
|
||||
|
||||
|
@ -22,7 +22,7 @@ services:
|
||||
acme.my_bundle.api.pet:
|
||||
class: Acme\MyBundle\Api\PetApi
|
||||
tags:
|
||||
- { name: "open_apiserver.api", api: "pet" }
|
||||
- { name: "open_api_server.api", api: "pet" }
|
||||
# ...
|
||||
```
|
||||
|
||||
|
@ -18,7 +18,7 @@ services:
|
||||
acme.my_bundle.api.store:
|
||||
class: Acme\MyBundle\Api\StoreApi
|
||||
tags:
|
||||
- { name: "open_apiserver.api", api: "store" }
|
||||
- { name: "open_api_server.api", api: "store" }
|
||||
# ...
|
||||
```
|
||||
|
||||
|
@ -22,7 +22,7 @@ services:
|
||||
acme.my_bundle.api.user:
|
||||
class: Acme\MyBundle\Api\UserApi
|
||||
tags:
|
||||
- { name: "open_apiserver.api", api: "user" }
|
||||
- { name: "open_api_server.api", api: "user" }
|
||||
# ...
|
||||
```
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user