mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-06-29 12:10:54 +00:00
[perl] Add name mapping features to the Perl client generator (#16510)
* add name mapping features to perl client generator * update samples
This commit is contained in:
parent
29f0d22713
commit
a9301a6c16
@ -4,3 +4,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-e
|
|||||||
templateDir: modules/openapi-generator/src/main/resources/perl
|
templateDir: modules/openapi-generator/src/main/resources/perl
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
hideGenerationTimestamp: "true"
|
hideGenerationTimestamp: "true"
|
||||||
|
nameMappings:
|
||||||
|
NullableMessage: system_message
|
||||||
|
modelNameMappings:
|
||||||
|
DeprecatedObject: DeprecatedModel
|
||||||
|
@ -317,6 +317,11 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toVarName(String name) {
|
public String toVarName(String name) {
|
||||||
|
// obtain the name from nameMapping directly if provided
|
||||||
|
if (nameMapping.containsKey(name)) {
|
||||||
|
return nameMapping.get(name);
|
||||||
|
}
|
||||||
|
|
||||||
// return the name in underscore style
|
// return the name in underscore style
|
||||||
// PhoneNumber => phone_number
|
// PhoneNumber => phone_number
|
||||||
name = underscore(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'.
|
name = underscore(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'.
|
||||||
@ -331,12 +336,22 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toParamName(String name) {
|
public String toParamName(String name) {
|
||||||
|
// obtain the name from parameterNameMapping directly if provided
|
||||||
|
if (parameterNameMapping.containsKey(name)) {
|
||||||
|
return parameterNameMapping.get(name);
|
||||||
|
}
|
||||||
|
|
||||||
// should be the same as variable name
|
// should be the same as variable name
|
||||||
return toVarName(name);
|
return toVarName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toModelName(String name) {
|
public String toModelName(String name) {
|
||||||
|
// obtain the name from modelNameMapping directly if provided
|
||||||
|
if (modelNameMapping.containsKey(name)) {
|
||||||
|
return modelNameMapping.get(name);
|
||||||
|
}
|
||||||
|
|
||||||
// We need to check if schema-mapping has a different model for this class, so we use it
|
// We need to check if schema-mapping has a different model for this class, so we use it
|
||||||
// instead of the auto-generated one.
|
// instead of the auto-generated one.
|
||||||
if (schemaMapping.containsKey(name)) {
|
if (schemaMapping.containsKey(name)) {
|
||||||
|
@ -16,7 +16,7 @@ docs/Category.md
|
|||||||
docs/ClassModel.md
|
docs/ClassModel.md
|
||||||
docs/Client.md
|
docs/Client.md
|
||||||
docs/DefaultApi.md
|
docs/DefaultApi.md
|
||||||
docs/DeprecatedObject.md
|
docs/DeprecatedModel.md
|
||||||
docs/Dog.md
|
docs/Dog.md
|
||||||
docs/EnumArrays.md
|
docs/EnumArrays.md
|
||||||
docs/EnumClass.md
|
docs/EnumClass.md
|
||||||
@ -76,7 +76,7 @@ lib/WWW/OpenAPIClient/Object/Cat.pm
|
|||||||
lib/WWW/OpenAPIClient/Object/Category.pm
|
lib/WWW/OpenAPIClient/Object/Category.pm
|
||||||
lib/WWW/OpenAPIClient/Object/ClassModel.pm
|
lib/WWW/OpenAPIClient/Object/ClassModel.pm
|
||||||
lib/WWW/OpenAPIClient/Object/Client.pm
|
lib/WWW/OpenAPIClient/Object/Client.pm
|
||||||
lib/WWW/OpenAPIClient/Object/DeprecatedObject.pm
|
lib/WWW/OpenAPIClient/Object/DeprecatedModel.pm
|
||||||
lib/WWW/OpenAPIClient/Object/Dog.pm
|
lib/WWW/OpenAPIClient/Object/Dog.pm
|
||||||
lib/WWW/OpenAPIClient/Object/EnumArrays.pm
|
lib/WWW/OpenAPIClient/Object/EnumArrays.pm
|
||||||
lib/WWW/OpenAPIClient/Object/EnumClass.pm
|
lib/WWW/OpenAPIClient/Object/EnumClass.pm
|
||||||
|
@ -254,7 +254,7 @@ use WWW::OpenAPIClient::Object::Cat;
|
|||||||
use WWW::OpenAPIClient::Object::Category;
|
use WWW::OpenAPIClient::Object::Category;
|
||||||
use WWW::OpenAPIClient::Object::ClassModel;
|
use WWW::OpenAPIClient::Object::ClassModel;
|
||||||
use WWW::OpenAPIClient::Object::Client;
|
use WWW::OpenAPIClient::Object::Client;
|
||||||
use WWW::OpenAPIClient::Object::DeprecatedObject;
|
use WWW::OpenAPIClient::Object::DeprecatedModel;
|
||||||
use WWW::OpenAPIClient::Object::Dog;
|
use WWW::OpenAPIClient::Object::Dog;
|
||||||
use WWW::OpenAPIClient::Object::EnumArrays;
|
use WWW::OpenAPIClient::Object::EnumArrays;
|
||||||
use WWW::OpenAPIClient::Object::EnumClass;
|
use WWW::OpenAPIClient::Object::EnumClass;
|
||||||
@ -321,7 +321,7 @@ use WWW::OpenAPIClient::Object::Cat;
|
|||||||
use WWW::OpenAPIClient::Object::Category;
|
use WWW::OpenAPIClient::Object::Category;
|
||||||
use WWW::OpenAPIClient::Object::ClassModel;
|
use WWW::OpenAPIClient::Object::ClassModel;
|
||||||
use WWW::OpenAPIClient::Object::Client;
|
use WWW::OpenAPIClient::Object::Client;
|
||||||
use WWW::OpenAPIClient::Object::DeprecatedObject;
|
use WWW::OpenAPIClient::Object::DeprecatedModel;
|
||||||
use WWW::OpenAPIClient::Object::Dog;
|
use WWW::OpenAPIClient::Object::Dog;
|
||||||
use WWW::OpenAPIClient::Object::EnumArrays;
|
use WWW::OpenAPIClient::Object::EnumArrays;
|
||||||
use WWW::OpenAPIClient::Object::EnumClass;
|
use WWW::OpenAPIClient::Object::EnumClass;
|
||||||
@ -439,7 +439,7 @@ Class | Method | HTTP request | Description
|
|||||||
- [WWW::OpenAPIClient::Object::Category](docs/Category.md)
|
- [WWW::OpenAPIClient::Object::Category](docs/Category.md)
|
||||||
- [WWW::OpenAPIClient::Object::ClassModel](docs/ClassModel.md)
|
- [WWW::OpenAPIClient::Object::ClassModel](docs/ClassModel.md)
|
||||||
- [WWW::OpenAPIClient::Object::Client](docs/Client.md)
|
- [WWW::OpenAPIClient::Object::Client](docs/Client.md)
|
||||||
- [WWW::OpenAPIClient::Object::DeprecatedObject](docs/DeprecatedObject.md)
|
- [WWW::OpenAPIClient::Object::DeprecatedModel](docs/DeprecatedModel.md)
|
||||||
- [WWW::OpenAPIClient::Object::Dog](docs/Dog.md)
|
- [WWW::OpenAPIClient::Object::Dog](docs/Dog.md)
|
||||||
- [WWW::OpenAPIClient::Object::EnumArrays](docs/EnumArrays.md)
|
- [WWW::OpenAPIClient::Object::EnumArrays](docs/EnumArrays.md)
|
||||||
- [WWW::OpenAPIClient::Object::EnumClass](docs/EnumClass.md)
|
- [WWW::OpenAPIClient::Object::EnumClass](docs/EnumClass.md)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# WWW::OpenAPIClient::Object::DeprecatedObject
|
# WWW::OpenAPIClient::Object::DeprecatedModel
|
||||||
|
|
||||||
## Load the model package
|
## Load the model package
|
||||||
```perl
|
```perl
|
||||||
use WWW::OpenAPIClient::Object::DeprecatedObject;
|
use WWW::OpenAPIClient::Object::DeprecatedModel;
|
||||||
```
|
```
|
||||||
|
|
||||||
## Properties
|
## Properties
|
@ -8,7 +8,7 @@ use WWW::OpenAPIClient::Object::HealthCheckResult;
|
|||||||
## Properties
|
## Properties
|
||||||
Name | Type | Description | Notes
|
Name | Type | Description | Notes
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**nullable_message** | **string** | | [optional]
|
**system_message** | **string** | | [optional]
|
||||||
|
|
||||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Name | Type | Description | Notes
|
|||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**uuid** | **string** | | [optional]
|
**uuid** | **string** | | [optional]
|
||||||
**id** | **double** | | [optional]
|
**id** | **double** | | [optional]
|
||||||
**deprecated_ref** | [**DeprecatedObject**](DeprecatedObject.md) | | [optional]
|
**deprecated_ref** | [**DeprecatedModel**](DeprecatedModel.md) | | [optional]
|
||||||
**bars** | **ARRAY[string]** | | [optional]
|
**bars** | **ARRAY[string]** | | [optional]
|
||||||
|
|
||||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
@ -17,7 +17,7 @@ Generated by: https://openapi-generator.tech
|
|||||||
# Do not edit the class manually.
|
# Do not edit the class manually.
|
||||||
# Ref: https://openapi-generator.tech
|
# Ref: https://openapi-generator.tech
|
||||||
#
|
#
|
||||||
package WWW::OpenAPIClient::Object::DeprecatedObject;
|
package WWW::OpenAPIClient::Object::DeprecatedModel;
|
||||||
|
|
||||||
require 5.6.0;
|
require 5.6.0;
|
||||||
use strict;
|
use strict;
|
||||||
@ -214,7 +214,7 @@ sub _deserialize {
|
|||||||
|
|
||||||
|
|
||||||
__PACKAGE__->class_documentation({description => '',
|
__PACKAGE__->class_documentation({description => '',
|
||||||
class => 'DeprecatedObject',
|
class => 'DeprecatedModel',
|
||||||
required => [], # TODO
|
required => [], # TODO
|
||||||
} );
|
} );
|
||||||
|
|
@ -219,7 +219,7 @@ __PACKAGE__->class_documentation({description => 'Just a string to inform instan
|
|||||||
} );
|
} );
|
||||||
|
|
||||||
__PACKAGE__->method_documentation({
|
__PACKAGE__->method_documentation({
|
||||||
'nullable_message' => {
|
'system_message' => {
|
||||||
datatype => 'string',
|
datatype => 'string',
|
||||||
base_name => 'NullableMessage',
|
base_name => 'NullableMessage',
|
||||||
description => '',
|
description => '',
|
||||||
@ -229,11 +229,11 @@ __PACKAGE__->method_documentation({
|
|||||||
});
|
});
|
||||||
|
|
||||||
__PACKAGE__->openapi_types( {
|
__PACKAGE__->openapi_types( {
|
||||||
'nullable_message' => 'string'
|
'system_message' => 'string'
|
||||||
} );
|
} );
|
||||||
|
|
||||||
__PACKAGE__->attribute_map( {
|
__PACKAGE__->attribute_map( {
|
||||||
'nullable_message' => 'NullableMessage'
|
'system_message' => 'NullableMessage'
|
||||||
} );
|
} );
|
||||||
|
|
||||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||||
|
@ -30,7 +30,7 @@ use Log::Any qw($log);
|
|||||||
use Date::Parse;
|
use Date::Parse;
|
||||||
use DateTime;
|
use DateTime;
|
||||||
|
|
||||||
use WWW::OpenAPIClient::Object::DeprecatedObject;
|
use WWW::OpenAPIClient::Object::DeprecatedModel;
|
||||||
|
|
||||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||||
|
|
||||||
@ -235,7 +235,7 @@ __PACKAGE__->method_documentation({
|
|||||||
read_only => '',
|
read_only => '',
|
||||||
},
|
},
|
||||||
'deprecated_ref' => {
|
'deprecated_ref' => {
|
||||||
datatype => 'DeprecatedObject',
|
datatype => 'DeprecatedModel',
|
||||||
base_name => 'deprecatedRef',
|
base_name => 'deprecatedRef',
|
||||||
description => '',
|
description => '',
|
||||||
format => '',
|
format => '',
|
||||||
@ -253,7 +253,7 @@ __PACKAGE__->method_documentation({
|
|||||||
__PACKAGE__->openapi_types( {
|
__PACKAGE__->openapi_types( {
|
||||||
'uuid' => 'string',
|
'uuid' => 'string',
|
||||||
'id' => 'double',
|
'id' => 'double',
|
||||||
'deprecated_ref' => 'DeprecatedObject',
|
'deprecated_ref' => 'DeprecatedModel',
|
||||||
'bars' => 'ARRAY[string]'
|
'bars' => 'ARRAY[string]'
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
@ -25,10 +25,10 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
|
|
||||||
use_ok('WWW::OpenAPIClient::Object::DeprecatedObject');
|
use_ok('WWW::OpenAPIClient::Object::DeprecatedModel');
|
||||||
|
|
||||||
# uncomment below and update the test
|
# uncomment below and update the test
|
||||||
#my $instance = WWW::OpenAPIClient::Object::DeprecatedObject->new();
|
#my $instance = WWW::OpenAPIClient::Object::DeprecatedModel->new();
|
||||||
#
|
#
|
||||||
#isa_ok($instance, 'WWW::OpenAPIClient::Object::DeprecatedObject');
|
#isa_ok($instance, 'WWW::OpenAPIClient::Object::DeprecatedModel');
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user