angular - 角度 12 中带有 _observableOf(null) 的 Swagger 自动生成的文件问题?
问题描述
所以我使用 swagger 和 Nswag 很长一段时间,我可以看到自动生成的方法用于生成这样的行以作为默认值退出:
return _observableOf<MyClassData>(<any>null);
...现在使用相同的 nswag json 文件,它会以这种方式生成:
return _observableOf(null);
这似乎对 Angular 9 有效,因为它不支持 strict=true,但现在在我的 Angular 11/12 项目中,这会引发一个错误,上面写着:
错误 TS2322:类型“Observable”不可分配给类型“Observable”。类型“null”不可分配给类型“MyClassData”。
解决方案1)手动替换自动生成的文件,添加:return _observableOf < MyClassData >(< any > null); 这很疯狂,因为每次生成文件时,我都会丢失更改。
解决方案 2)打开/编辑 angular.json,在原理图/角度:应用程序中,严格:将其从 true 更改为 false,当然它会停止失败,但我更喜欢保持代码严格。
这里最好的解决方案是什么?有没有办法向 NSWAG 指定应该像过去那样继续返回?
谢谢。
解决方案
我的项目也有类似的问题。我升级了我的大部分软件包,包括Angular到 v12 和rxjs到 v7。
nswag 生成的文件还给了我一个编译错误,说 _observableOf 已被贬低,并且:
类型 'Observable< object >' 不可分配给类型 'Observable< object []>'
对于所有返回数组的端点。
我认为这是因为 nswag 与 rxjs 7+ 不兼容(还)。将 rxjs 降级到 6.6.7 对我有用。
推荐阅读
- sql-server - 当行数不固定时将行转换为列
- python - 在正则表达式中匹配'//'或EOL'$'在分组时给出不一致的结果(在Python中)?
- c# - C# 比较引用和值类型与 null
- angular - TypeError: Object(...) is not a function at index.js
- r - R中使用索引的列表列表
- javascript - 如何使用 Bootstrap 4 使图像中的按钮居中
- xamarin - 通过绑定显示 JSON 响应(Xamarin 表单)
- java - I/Choreographer:跳过了8帧!应用程序可能在其主线程上做了太多工作
- parsing - 如何组合 antlr 解析器和词法分析器文件
- php - 我认为即使他可以找到文件是否存在,移动上传的文件也不起作用