【问题标题】:How to get JSON schema from Swagger URL [closed]如何从 Swagger URL 获取 JSON 模式 [关闭]
【发布时间】:2019-12-12 06:16:58
【问题描述】:

技术栈

  • .Net core 2.0 API
  • MarkLogic

我们使用的是 nosql 数据库,我们从 MarkLogic API 获得输出,我们将其作为响应发送。

这意味着,用户将永远不会获得完整的响应模型结构作为给定结果的输出,因为某些元素将出现在文档中,而很少有元素不会成为文档的一部分。

所以在这种情况下,从客户端,用户希望看到完整的模型结构,它可以作为 Swagger 中模型结构的一部分。

所以问题是,如何通过 swagger URL 获取完整的模型结构,例如 https://url/swagger/v1/model.json

【问题讨论】:

  • 您的模型 json 文件是否存储在 MarkLogic 中?
  • 您好 Saša,感谢您的回复。不,MarkLogic 我们有 xml 文件,我们正在转换它并在 JSON 响应中发送它。

标签: c# .net json swagger


【解决方案1】:

我认为这个挑战的第一部分是“swagger 文件在哪里”。您在回复 Saša 时声明它们不在 MarkLogic 中。它们需要在某个地方发布以供使用。

如果您要将 swagger 文件存储在 MarkLogic 中,那么您可以考虑将它们返回给客户端的不同选项:

  • 使用 MarkLogic 的文档端点检索它们:

    如果您有像 /reference/swagger/my-model-v1.json 这样的可预测 uri,那么标准 OOTB 文档端点就可以正常工作。否则,您可以使用搜索端点来满足更复杂的需求,或者使用 http 重写器来调整所需的 URI。

  • Swagger 模型的 Rest Extension: 根据您的示例 URI,您可以编写一个扩展作为 swagger 服务来返回所需的内容。

  • [可选]作为有效负载的一部分返回

    听起来你已经在转换你的内容了(从搜索或自定义休息扩展中拦截它(我推断这是因为你声明你在发送内容时正在转换为 JSON)。因为你已经在输出时动态创建 JSON,您可以将其用作挂钩来提供模型作为结果的一部分,人们可以在其中获取内容、模型或两者兼而有之。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多