acacode / acacode/swagger-typescript-api

Not possible to set responseType to blob

Open
#767 3 comments 2 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
4.1k
Forks
436
PR merge metrics
No merged PRs in 30d

Description

Hi, I am experiencing an issue when trying to generate client from drf's @extend_schema decorator. My endpoint returns a response which contains an xlsx file, I am only able to process that if I set the generated client's responseType manually to blob, but it is set incorrectly to json.
I've found many suggestions to set x-in-file in the decorator, I even tried to set it as header, but none of the suggestions works.
Here is how I currently specify the response in extend_schema decorator:
`
responses={

200: {
'x-is-file': 'true',
'content': {
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': {
'schema': {
'type': 'string',
'format': 'binary'
}
}
},
'headers': {
'x-is-file': {
'description': 'Indicates if the response is a file',
'type': 'string',
'example': 'true'
}
},
}
}`

and this is generated:

`
this.request({

path: '/api/v1/object/export/',
method: "GET",
query: query,
secure: true,
format: "json",
...params,
}),`
Rewriting this manually to:
`this.request({

path: '/api/v1/object/export/',
method: "GET",
query: query,
secure: true,
format: "blob",
...params,
}),`
works as intended.
Any ideas where the problem should be?
Many thanks in advance.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.