swagger 当返回类型为字符串时,NSwagStudio反序列化错误

vwoqyblh  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(195)

我遇到以下错误:NSwagStudio生成一个typescript客户端,当api返回类型为纯字符串时,该客户端尝试反序列化json。我使用的是.netCore 2.2和NSwagStudio 13.16.1。生成的客户端为:

if (status === 400) {
        return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
        let result400: any = null;
        result400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;
        return throwException("A server side error occurred.", status, _responseText, _headers, result400);
        }));

而API具有以下装饰器:

[ProducesResponseType(typeof(string),StatusCodes.Status400BadRequest)]

正如您所看到的,客户端正在尝试解析 _responseText,这导致了错误。_responseText 是一个普通字符串。
我怎样才能解决这个问题?

laawzig2

laawzig21#

我认为这是前端的问题。请不要将其最小化。

if (status === 400) {
    return blobToText(responseBlob).pipe(_observableMergeMap(_responseText => {
        let result400: any = null;
        result400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as string;
        return throwException("A server side error occurred.", status, _responseText, _headers, 
    }));
}

相关问题