[BUG][Java] Bean Validation Breaks Generated Java Code
Created by: AdrianDiemerDev
Bug Report Checklist
-
Have you provided a full/minimal spec to reproduce the issue? -
Have you validated the input using an OpenAPI validator (example)? -
Have you tested with the latest master to confirm the issue still exists? -
Have you searched for related issues/PRs? -
What's the actual output vs expected output? -
[Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
When using the "useBeanValidation" option with an openAPI specification that has a required request body, the Java generator for okhttp-gson (and I think others, too) generates invalid Java code due to a missing white space.
openapi-generator version
This happens only from version 5.3.0 onwards.
OpenAPI declaration file content or url
openapi: "3.0.3"
info:
title: Bla API
version: "1.0.2"
description: RESTful Bla API.
license:
name: "bla"
url: "http://bla.com"
servers:
- url: https://localhost:8080/bla
paths:
/configuration:
put:
operationId: operation
description: bla
requestBody:
required: true
content:
application/json:
schema:
type: object
minProperties: 1
additionalProperties:
type: object
responses:
'200':
description: OK
This generates the line
public ApiResponse<Void> operationWithHttpInfo( @NotNullMap<String, Object> requestBody) throws ApiException
when it should be
public ApiResponse<Void> operationWithHttpInfo( @NotNull Map<String, Object> requestBody) throws ApiException
Generation Details
Options:
useBeanValidation: true
docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate -i /local/openapi.yaml -g java -c /local/options.yaml -o /local/out
Steps to reproduce
Related issues/PRs
Suggest a fix
I think the issue might have been introduced here and could probably be resolved be reintroducing the whitespace (maybe even directly after "NotNull"). However, I have no experience with these templates and no idea which other places might need to be checked.