首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nSwag change responseType:"blob“

nSwag change responseType:"blob“
EN

Stack Overflow用户
提问于 2020-01-17 01:53:34
回答 1查看 1K关注 0票数 1

我有个问题。我使用的是asp.net核心3网络应用程序接口。Angular 8应用客户端是使用nSwag版本13.2.1.0生成的。规范是在Swashbuckle.AspNetCore 5中生成的。

我得到的结果是:

代码语言:javascript
复制
**
     * @param body (optional) 
     * @return Success
     */
    seller(body: RegisterSellerRequest | undefined): Observable<TokenResponse> {
        let url_ = this.baseUrl + "/api/register/seller";
        url_ = url_.replace(/[?&]$/, "");

        const content_ = JSON.stringify(body);

        let options_: any = {
            body: content_,
            observe: "response",
            responseType: "blob",
            headers: new HttpHeaders({
                "Content-Type": "application/json-patch+json",
                "Accept": "application/json"
            })
        };

正如你所看到的responseType:"blob“被生成了,这对我们的angular应用的拦截器来说并不好。有没有办法将响应设置为application/json?!在我的控制器中,我像这样设置了swagger属性:

代码语言:javascript
复制
[ApiExplorerSettings(GroupName = Constatns.PublicSwaggerGroup)]
[SwaggerOperation(OperationId = "registerSeller")]
[HttpPost("api/register/seller")]
[ValidateModel]
[AllowAnonymous]
[ProducesResponseType((int)HttpResponseType.OK, Type = typeof(TokenResponse))]
[ProducesResponseType((int)HttpResponseType.BadRequest)]
[Produces("application/json")]
public async Task<TokenResponse> RegisterSeller([FromBody] RegisterSellerRequest data)
{}
EN

回答 1

Stack Overflow用户

发布于 2020-02-13 06:00:48

我认为目前还没有简单的方法来改变这一点。这是将所有内容加载为blob,然后根据响应类型将其转换为json或二进制的最简单方法。改变这一点将意味着生成器模板变得更加复杂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59775307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档