-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[typescript-rxjs]: support reponseType blob #3437
[typescript-rxjs]: support reponseType blob #3437
Conversation
👍 Thanks for opening this issue! The team will review the labels and make any necessary changes. |
modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache
Outdated
Show resolved
Hide resolved
modules/openapi-generator/src/main/resources/typescript-rxjs/runtime.mustache
Show resolved
Hide resolved
I think I got it for a spec like
the generated code then is
The generated samples don't show this. |
@denyo if you have tested it and confirm it works, we can merge it. |
@denyo the CI is happy, can we merge it? |
Yes. |
@denyo thanks for the PR, which has been included in the 4.1.0 release: https://twitter.com/oas_generator/status/1160000504455319553 |
PR checklist
./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{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\
. If contributing template-only or documentation-only changes which will change sample output, be sure to build the project first.master
,4.1.x
,5.0.x
. Default:master
.Description of the PR
The goal is to generate the correct
responseType
which is passed torxjs/ajax
.By default this is
json
as visible here: https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/dom/AjaxObservable.ts#L167) but it can be overriden.I am not too sure about all the possible types but I found
json
,text
,blob
andarraybuffer
to be supported byrxjs/ajax
based on https://github.com/Reactive-Extensions/RxJS-DOM/pull/121/files#diff-d3b897234759c07ed79441f35e56b67fR22. Perhaps it's also possible to passdocument
andms-stream
as described there for completeness: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType.The one that I personally need for a project is
blob
in order to download an excel file.The relevant lines for this in the
api.json
are:However
AbstractTypeScriptClientCodegen
maps this to a string because oftypeMapping.put("ByteArray", "string");
.I tried removing this via
this.typeMapping.remove("ByteArray");
inTypeScriptRxjsClientCodegen
but then I end up with another import being generated for a modelByteArray
which does not exist.Here are the changes on the call:
In order to solve this I need some input on how to get there.
Or asked differently what's the reason for the mapping of
ByteArray
tostring
?Or any how to figure out the appropriate
responseType
?@TiFu (2017/07) @taxpon (2017/07) @sebastianhaas (2017/07) @kenisteward (2017/07) @Vrolijkx (2017/09) @macjohnny (2018/01) @nicokoenig (2018/09) @topce (2018/10) @akehir (2019/07)