rem*_*lam 5 c# swagger .net-core swashbuckle asp.net-core
我在我的(输入)模型中将一个属性标记为过时
public class MyModel
{
[Obsolete("Use 'OtherProperty'")]
public string SomeProperty {get;set;}
public List<string> OtherProperty {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
但是,swagger 没有显示这两个属性之间的区别,也没有显示消息。
有什么方法可以让我大摇大摆地尊重 Obsolete 属性?或者我需要自己把它放在属性上方的 xml-comments 中吗?
不幸的是,Swashbuckle 上尚不支持过时的属性......
我们受到 OpenAPI 规范的限制,并且 Swashbuckle 仍然使用 2.0
最接近的东西已被弃用,但这仅适用于方法而不适用于属性:
https ://github.com/OAI/OpenAPI-Specification/blob/master/versions /2.0.md#操作对象
一种选择是使用 来IDocumentFilter完全隐藏标记的属性Obsolete,但这将是一条崎岖的道路。
另一种选择是创建两个方法和两个模型,这样您可以标记该方法,并将转换到其中的方法,所有内容都将被弃用(我认为这有点混乱),但我已经在许多网络中看到了这种模式-api
我认为你最好/最简单的解决方案是你建议添加一些 xml 注释,指出不应使用该属性。
| 归档时间: |
|
| 查看次数: |
3869 次 |
| 最近记录: |