我有问题。我正在使用asp.net core 3 Web API。 Angular 8应用程序客户端是使用nSwag 13.2.1.0版本生成的。规范是由Swashbuckle.AspNetCore 5生成的。
我得到的结果是:
** * @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”,这对我们的角度应用程序的拦截器不利。有没有一种方法可以将响应设置为application / json ?!在我的控制器中,我设置了swagger属性,如下所示:
[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)
{}
我有问题。我正在使用asp.net core 3 Web API。 Angular 8应用程序客户端是使用nSwag 13.2.1.0版本生成的。该规范生成Swashbuckle.AspNetCore5。我得到的结果是:* ...
我认为,目前没有简单的方法可以改变这一点。这是将所有内容加载为blob,然后根据响应类型将其转换为json或二进制文件的最简单方法。进行更改将意味着生成器模板变得更加复杂。