如何解决如何在SwakshBuckle中声明可空响应类型在NSwagStudio中生成客户端
我们使用SwashBuckle配置我们的AspNet Core(服务结构)项目以生成Swagger json和UI。 然后,我们使用NSwagStudio从nswag.json模板中生成Sscriptbuckle生成的脚本和C#客户端。
最近,NSwagStudio的最新版本发生了更改,该版本生成了将空检查添加到响应对象的客户端。我们现有的控制器返回空响应,因此客户端已停止工作。
我们的示例控制器端点声明:
[HttpPost]
[ODataRoute]
[Produces("application/json")]
[ProducesResponseType(typeof(IActionResult),Status200OK)]
public Task PostXXX() => ...;
我们生成的客户(之前)
//----------------------
// <auto-generated>
// Generated using the NSwag toolchain v13.6.2.0 (NJsonSchema v10.1.23.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)
// </auto-generated>
//----------------------
var status_ = ((int)response_.StatusCode).ToString();
if (status_ == "200")
{
var objectResponse_ = await ReadObjectResponseAsync<IActionResult>(response_,headers_).ConfigureAwait(false);
return objectResponse_.Object;
}
我们生成的客户(之后)
//----------------------
// <auto-generated>
// Generated using the NSwag toolchain v13.7.0.0 (NJsonSchema v10.1.24.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)
// </auto-generated>
//----------------------
var status_ = (int)response_.StatusCode;
if (status_ == 200)
{
var objectResponse_ = await ReadObjectResponseAsync<Void>(response_,headers_).ConfigureAwait(false);
if (objectResponse_.Object == null)
{
throw new Exception("Response was null which was not expected.",status_,objectResponse_.Text,headers_,null);
}
return objectResponse_.Object;
}
问题是我们如何告诉SwashBuckle标记此控制器端点可以返回可为空的响应? 换句话说,我正在寻找与Swashbuckle世界中的NSwag类似的东西: https://github.com/RicoSuter/NSwag/wiki/AspNetCoreOpenApiDocumentGenerator#response-nullability
此github问题中的更多详细信息 https://github.com/RicoSuter/NSwag/issues/3011
如果您需要更多信息,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。