[cxf-cdi] use InputStream for binary body (#14439)

Use a  single InputStream instead of "File".
This allows the generated code to build in case of a definition like:
      requestBody:
        content:
          text/plain:
            schema:
              type: string
              format: binary
This fixes #9372
This commit is contained in:
Antoine Reilles 2023-03-12 16:24:30 +01:00 committed by GitHub
parent 790b0be964
commit 72871cf930
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 3 additions and 4 deletions

View File

@ -50,6 +50,8 @@ public class JavaJAXRSCXFCDIServerCodegen extends JavaJAXRSSpecServerCodegen imp
// Use standard types // Use standard types
typeMapping.put("DateTime", "java.util.Date"); typeMapping.put("DateTime", "java.util.Date");
typeMapping.put("binary", "java.io.InputStream");
typeMapping.put("file", "java.io.InputStream");
// Updated template directory // Updated template directory
embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME + File.separator + "cxf-cdi"; embeddedTemplateDir = templateDir = JAXRS_TEMPLATE_DIRECTORY_NAME + File.separator + "cxf-cdi";

View File

@ -61,7 +61,7 @@ public class {{classname}} {
@ApiResponses(value = { {{#responses}} @ApiResponses(value = { {{#responses}}
@ApiResponse(code = {{{code}}}, message = "{{{message}}}", response = {{{baseType}}}.class{{#containerType}}, responseContainer = "{{{.}}}"{{/containerType}}){{^-last}},{{/-last}}{{/responses}} }) @ApiResponse(code = {{{code}}}, message = "{{{message}}}", response = {{{baseType}}}.class{{#containerType}}, responseContainer = "{{{.}}}"{{/containerType}}){{^-last}},{{/-last}}{{/responses}} })
public Response {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}) { public Response {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}) {
return delegate.{{nickname}}({{#allParams}}{{#isFile}}{{paramName}}InputStream, {{paramName}}Detail{{/isFile}}{{^isFile}}{{paramName}}{{/isFile}}, {{/allParams}}securityContext); return delegate.{{nickname}}({{#allParams}}{{#isFile}}{{#isMultipart}}{{paramName}}InputStream, {{paramName}}Detail{{/isMultipart}}{{^isMultipart}}{{paramName}}{{/isMultipart}}{{/isFile}}{{^isFile}}{{paramName}}{{/isFile}}, {{/allParams}}securityContext);
} }
{{/operation}} {{/operation}}
} }

View File

@ -1,6 +1,5 @@
package org.openapitools.api; package org.openapitools.api;
import java.io.File;
import org.openapitools.model.ModelApiResponse; import org.openapitools.model.ModelApiResponse;
import org.openapitools.model.Pet; import org.openapitools.model.Pet;
import org.openapitools.api.PetApiService; import org.openapitools.api.PetApiService;

View File

@ -6,7 +6,6 @@ import org.openapitools.model.*;
import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.cxf.jaxrs.ext.multipart.Multipart; import org.apache.cxf.jaxrs.ext.multipart.Multipart;
import java.io.File;
import org.openapitools.model.ModelApiResponse; import org.openapitools.model.ModelApiResponse;
import org.openapitools.model.Pet; import org.openapitools.model.Pet;

View File

@ -5,7 +5,6 @@ import org.openapitools.model.*;
import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import java.io.File;
import org.openapitools.model.ModelApiResponse; import org.openapitools.model.ModelApiResponse;
import org.openapitools.model.Pet; import org.openapitools.model.Pet;