mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-07 19:26:08 +00:00
Merge branch 'bugfix/fix-formparams-defaultvalue' of https://github.com/JoseLora/openapi-generator into JoseLora-bugfix/fix-formparams-defaultvalue
This commit is contained in:
@@ -1 +1 @@
|
|||||||
{{#isFormParam}}{{^isFile}}{{>paramDoc}}{{#useBeanValidation}} {{>beanValidationBodyParams}}@Valid{{/useBeanValidation}} {{#isModel}}@RequestPart{{/isModel}}{{^isModel}}{{#isArray}}@RequestPart{{/isArray}}{{^isArray}}{{#reactive}}@RequestPart{{/reactive}}{{^reactive}}@RequestParam{{/reactive}}{{/isArray}}{{/isModel}}(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}){{>dateTimeParam}} {{^required}}{{#useOptional}}Optional<{{/useOptional}}{{/required}}{{{dataType}}}{{^required}}{{#useOptional}}>{{/useOptional}}{{/required}} {{paramName}}{{/isFile}}{{#isFile}}{{>paramDoc}} @RequestPart(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}) {{#reactive}}{{#isArray}}Flux<{{/isArray}}Part{{#isArray}}>{{/isArray}}{{/reactive}}{{^reactive}}{{#isArray}}List<{{/isArray}}MultipartFile{{#isArray}}>{{/isArray}}{{/reactive}} {{paramName}}{{/isFile}}{{/isFormParam}}
|
{{#isFormParam}}{{^isFile}}{{>paramDoc}}{{#useBeanValidation}} {{>beanValidationBodyParams}}@Valid{{/useBeanValidation}} {{#isModel}}@RequestPart{{/isModel}}{{^isModel}}{{#isArray}}@RequestPart{{/isArray}}{{^isArray}}{{#reactive}}@RequestPart{{/reactive}}{{^reactive}}@RequestParam{{/reactive}}{{/isArray}}{{/isModel}}(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}{{#defaultValue}}, defaultValue = "{{{.}}}"{{/defaultValue}}){{>dateTimeParam}} {{^required}}{{#useOptional}}Optional<{{/useOptional}}{{/required}}{{{dataType}}}{{^required}}{{#useOptional}}>{{/useOptional}}{{/required}} {{paramName}}{{/isFile}}{{#isFile}}{{>paramDoc}} @RequestPart(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}) {{#reactive}}{{#isArray}}Flux<{{/isArray}}Part{{#isArray}}>{{/isArray}}{{/reactive}}{{^reactive}}{{#isArray}}List<{{/isArray}}MultipartFile{{#isArray}}>{{/isArray}}{{/reactive}} {{paramName}}{{/isFile}}{{/isFormParam}}
|
||||||
|
|||||||
@@ -5316,6 +5316,29 @@ public class SpringCodegenTest {
|
|||||||
.doesNotHaveAnnotation("Deprecated");
|
.doesNotHaveAnnotation("Deprecated");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRequestBodyFormParamsDefaultValue() {
|
||||||
|
final var tempDir = TestUtils.newTempFolder();
|
||||||
|
final CodegenConfigurator configurator = new CodegenConfigurator()
|
||||||
|
.setInputSpec("src/test/resources/3_0/spring/formParams_defaultValue.yaml")
|
||||||
|
.setGeneratorName("spring")
|
||||||
|
.setOutputDir(tempDir.toString());
|
||||||
|
|
||||||
|
new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
|
||||||
|
|
||||||
|
JavaFileAssert.assertThat(tempDir.resolve("src/main/java/org/openapitools/api/SomeApi.java"))
|
||||||
|
.assertMethod("someDummyEndpoint", "String", "String")
|
||||||
|
.assertParameter("productId")
|
||||||
|
.assertParameterAnnotations()
|
||||||
|
.containsWithNameAndAttributes("RequestParam",
|
||||||
|
Map.of("value", "\"product_id\"", "required", "true"))
|
||||||
|
.toParameter().toMethod()
|
||||||
|
.assertParameter("locale")
|
||||||
|
.assertParameterAnnotations()
|
||||||
|
.containsWithNameAndAttributes("RequestParam",
|
||||||
|
Map.of("value", "\"locale\"", "required", "false", "defaultValue", "\"en_US\""));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldAnnotateNonRequiredFieldsAsNullable() throws IOException {
|
public void shouldAnnotateNonRequiredFieldsAsNullable() throws IOException {
|
||||||
SpringCodegen codegen = new SpringCodegen();
|
SpringCodegen codegen = new SpringCodegen();
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
openapi: 3.0.0
|
||||||
|
info:
|
||||||
|
version: "1.0.0"
|
||||||
|
title: formParams-defaultValue-test
|
||||||
|
paths:
|
||||||
|
/some/dummy/endpoint:
|
||||||
|
post:
|
||||||
|
operationId: someDummyEndpoint
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/DummyRequest'
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: Successfully created
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
additionalProperties:
|
||||||
|
$ref: '#/components/schemas/DummyResponse'
|
||||||
|
components:
|
||||||
|
schemas:
|
||||||
|
DummyResponse:
|
||||||
|
required:
|
||||||
|
- status
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
DummyRequest:
|
||||||
|
required:
|
||||||
|
- product_id
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
product_id:
|
||||||
|
type: string
|
||||||
|
locale:
|
||||||
|
type: string
|
||||||
|
default: "en_US"
|
||||||
Reference in New Issue
Block a user