我正在将我们的服务器从 SOAP 迁移到 REST。我正在使用 swashbuckle 生成 api 文档并使用 autorest 来创建客户端。
我有很多带有签名的方法,它们允许:
1) 可空值
2) 可能允许空值的字符串
例如这样的方法:
public void SetGlobalDataForSite(string wsKey, int? siteId, string title,
string keywords, string homepagetitle, bool isValidValue)
不需要为 siteId、关键字或主页标题设置值。
据我所知,允许这些值为 null 我应该将该方法转换为如下内容:
public void SetGlobalDataForSite(string wsKey, string title, bool isValidValue,
int? siteId = null, string keywords = null, string homepagetitle = null)
现在这会导致很多问题:
1)由于我正在更改签名,因此很容易出错
2) 工作量很大,我有大约 300 种方法可以改变
3)我还需要更改客户端代码,这可能会导致更多错误
有没有办法在不更改信号的情况下将这些属性标记为可为空?也许我错过了一些东西。为大多数方法创建一个请求类可以工作,但是我又生成了很多无用的代码。
任何想法,将不胜感激 :)