使用NSwag在Visual Studio生成OpenAPI方法时的Status 204问题
解决NSwag将204状态码识别为异常的配置方案
NSwag默认未将204(无内容)状态码纳入成功响应范围,因此生成的客户端代码会将其判定为异常并抛出ApiException。可以通过修改NSwag配置,将204标记为成功状态码,无需手动修改自动生成的代码。
配置方法:
修改NSwag配置文件(nswag.json)
在配置文件的codeGenerators.csharp节点下,添加或更新successStatusCodes数组,将204包含进去:"codeGenerators": { "csharp": { "successStatusCodes": [200, 201, 204], // 保留其他原有配置项 } }保存配置后重新生成客户端代码,NSwag会将204视为成功响应,生成的代码会处理该状态码并返回对应结果(如
null,对应TypeSpec定义的NoContentResponse),而非抛出异常。Visual Studio连接服务界面配置
如果是通过Visual Studio的「添加连接服务」功能生成客户端:- 打开项目中的「Connected Services」节点,找到对应的NSwag服务
- 进入设置界面,找到「成功状态码」相关配置项
- 将204添加到成功状态码列表中
- 点击「重新生成」按钮,更新客户端代码
内容的提问来源于stack exchange,提问作者André Reichelt
相关产品推荐
相关产品推荐

