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}} {{#async}}
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
{{/async}} {{/async}}
{{#returnSuccessCode}}
import java.util.concurrent.atomic.AtomicInteger;
{{/returnSuccessCode}}
import {{javaxPackage}}.annotation.Generated; import {{javaxPackage}}.annotation.Generated;
{{>generatedAnnotation}} {{>generatedAnnotation}}

View File

@ -3,18 +3,20 @@
{{#-first}} {{#-first}}
{{#async}} {{#async}}
return CompletableFuture.supplyAsync(()-> { 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"))) { {{#async}} {{/async}} for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
{{/-first}} {{/-first}}
{{#async}} {{/async}}{{^async}} {{/async}} if (mediaType.isCompatibleWith(MediaType.valueOf("{{{contentType}}}"))) { {{#async}} {{/async}}{{^async}} {{/async}} if (mediaType.isCompatibleWith(MediaType.valueOf("{{{contentType}}}"))) {
{{#async}} {{/async}}{{^async}} {{/async}} String exampleString = {{>exampleString}}; {{#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}} break;
{{#async}} {{/async}}{{^async}} {{/async}} } {{#async}} {{/async}}{{^async}} {{/async}} }
{{#-last}} {{#-last}}
{{#async}} {{/async}}{{^async}} {{/async}} } {{#async}} {{/async}}{{^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}}
{{^useResponseEntity}}throw new IllegalArgumentException("Not implemented"); {{^useResponseEntity}}throw new IllegalArgumentException("Not implemented");
{{/useResponseEntity}} {{/useResponseEntity}}