【问题标题】:How to hide a model parameter from Swagger ui for a particular action method如何从 Swagger ui 中隐藏特定操作方法的模型参数
【发布时间】:2019-02-07 06:11:11
【问题描述】:

我正在使用 swagger 来显示用户需要为我的 api 端点提供的变量。我正在使用一个模型类,swagger ui 引用该模型类来为特定端点显示参数列表,考虑我对 POST 调用操作和 PUT 调用操作使用相同的模型,但我需要在我的模型中隐藏特定变量用于 POST 的 swagger 文档并将其用于 PUT 调用。需要明确的是,对于我的 POST 操作,用户不应该在 swagger ui 中看到“transactionId”,但应该在 PUT 操作中看到它。

【问题讨论】:

  • 我认为最好的做法是为每个操作设置一个单独的模型,而不是按照您的要求进行操作。
  • 这就是我最终所做的。谢谢。

标签: c# .net-core swagger-ui


【解决方案1】:

在您的模型中使用 [IgnoreDataMember] 作为 transactionId 在此处查看更多信息:

How can we hide a property in WebAPI?

你在找这个吗?

【讨论】:

  • 如果我使用[IgnoreDataMember],该变量将不能用于 POST 和 PUT,但我需要它用于 PUT 调用而不是 POST 调用。 @迈克
  • 看看这篇文章:forums.servicestack.net/t/… 可能会对你有所帮助。最好的方法就是将每个动词的模型分开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 1970-01-01
  • 2021-12-31
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多