Angular TS client Accept header is "text/plain" when using OAS3
#2672 aperta il 4 feb 2020
Metriche repository
- Star
- (6291 star)
- Metriche merge PR
- (Nessuna PR mergiata in 30 g)
Descrizione
We use NSwag Studio to generate TypeScript clients for our Angular applications. When we switch from Swagger2 to OAS3 the generated Angular client uses a different Accept header.
Output from Swagger2 definition ("Accept": "application/json"):
let options_ : any = {
observe: "response",
responseType: "blob",
headers: new HttpHeaders({
"Accept": "application/json"
})
};
Output from OAS3 definition ("Accept": "text/plain"):
let options_ : any = {
observe: "response",
responseType: "blob",
headers: new HttpHeaders({
"Accept": "text/plain"
})
};
The related part of the definition looks of course a bit different, but I don't see a reason why it results in different output. Swagger2:
"produces": [
"text/plain",
"application/json",
"text/json"
],
OAS3:
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Supplier"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Supplier"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Supplier"
}
}
}
}
As far as I understand the ASP.NET Core documentation, the Accept header is ignored if the request comes from a browser. Are there any other side-effects? Is there a way to configure which Accept header should be used?