Set appropriate statusCode from examples (#19501)

Issue: OpenAPITools/openapi-generator#19446
This commit is contained in:
Renuka Fernando 2025-04-27 12:48:28 +05:30 committed by GitHub
parent f656afcde3
commit 858d5fd8b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View File

@ -78,6 +78,9 @@ import java.util.Optional;
{{#async}}
import java.util.concurrent.CompletableFuture;
{{/async}}
{{#returnSuccessCode}}
import java.util.concurrent.atomic.AtomicInteger;
{{/returnSuccessCode}}
import {{javaxPackage}}.annotation.Generated;
{{>generatedAnnotation}}

View File

@ -3,18 +3,20 @@
{{#-first}}
{{#async}}
return CompletableFuture.supplyAsync(()-> {
{{/async}}getRequest().ifPresent(request -> {
{{/async}}{{#returnSuccessCode}}AtomicInteger statusCode = new AtomicInteger(501);
{{/returnSuccessCode}}getRequest().ifPresent(request -> {
{{#async}} {{/async}} for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
{{/-first}}
{{#async}} {{/async}}{{^async}} {{/async}} if (mediaType.isCompatibleWith(MediaType.valueOf("{{{contentType}}}"))) {
{{#async}} {{/async}}{{^async}} {{/async}} String exampleString = {{>exampleString}};
{{#async}} {{/async}}{{^async}} {{/async}} ApiUtil.setExampleResponse(request, "{{{contentType}}}", exampleString);
{{#async}} {{/async}}{{^async}} {{/async}} ApiUtil.setExampleResponse(request, "{{{contentType}}}", exampleString);{{#returnSuccessCode}}
{{#async}} {{/async}}{{^async}} {{/async}} statusCode.set({{{statusCode}}});{{/returnSuccessCode}}
{{#async}} {{/async}}{{^async}} {{/async}} break;
{{#async}} {{/async}}{{^async}} {{/async}} }
{{#-last}}
{{#async}} {{/async}}{{^async}} {{/async}} }
{{#async}} {{/async}} });
{{#async}} {{/async}} {{#useResponseEntity}}return new ResponseEntity<>({{#returnSuccessCode}}HttpStatus.valueOf({{{statusCode}}}){{/returnSuccessCode}}{{^returnSuccessCode}}HttpStatus.NOT_IMPLEMENTED{{/returnSuccessCode}});
{{#async}} {{/async}} {{#useResponseEntity}}return new ResponseEntity<>({{#returnSuccessCode}}HttpStatus.valueOf(statusCode.get()){{/returnSuccessCode}}{{^returnSuccessCode}}HttpStatus.NOT_IMPLEMENTED{{/returnSuccessCode}});
{{/useResponseEntity}}
{{^useResponseEntity}}throw new IllegalArgumentException("Not implemented");
{{/useResponseEntity}}