Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Java][Spring] Use better return types for the reactive option #913

Merged
merged 1 commit into from
Sep 2, 2018

Conversation

cbornet
Copy link
Member

@cbornet cbornet commented Aug 27, 2018

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh and ./bin/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.3.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

Description of the PR

Wrap ResponseEntity into Mono so it can be filled reactively.
See #571

@jmini jmini changed the title Use better return types for the reactive option [Java][Spring] Use better return types for the reactive option Aug 28, 2018
@wing328
Copy link
Member

wing328 commented Aug 28, 2018

@cbornet thanks for the PR. Is that a breaking change as the return type has been changed?

@cbornet
Copy link
Member Author

cbornet commented Aug 28, 2018

I guess so. I can re-target to 4.0 if you prefer.

@wing328 wing328 merged commit 026c260 into OpenAPITools:master Sep 2, 2018
@wing328
Copy link
Member

wing328 commented Sep 2, 2018

Upgrade note

Workaround with the current templates : if you need to set the status code or the headers reactively, you can do so by setting them on the ServerWebExchange in the reactive body. Eg:

    @Override
    public ResponseEntity<Mono<Void>> deletePet(Long petId, String apiKey, ServerWebExchange exchange) {
        Mono<Void> result = Mono.empty()
                .doOnSuccess(it -> exchange.getResponse().setStatusCode(HttpStatus.FORBIDDEN))
                .doOnSuccess(it -> exchange.getResponse().getHeaders().add("foo", "bar"))
                .then();
        return ResponseEntity.status(HttpStatus.OK).body(result);
    }

Ref: #571 (comment)

Credit: @cbornet

@cbornet cbornet deleted the reactive-return-types branch September 2, 2018 08:25
A-Joshi pushed a commit to ihsmarkitoss/openapi-generator that referenced this pull request Feb 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants