【问题标题】:How do I specify a "JSON Raw Message" in API object using Swagger 2.0 or OpenApi 3.x?如何使用 Swagger 2.0 或 OpenApi 3.x 在 API 对象中指定“JSON 原始消息”?
【发布时间】:2019-12-09 09:24:35
【问题描述】:

我正在使用 Swagger 2.0 记录一个 REST API(在 Go 中开发),API 响应使用的结构之一包括几个在 Go 中声明为“Json.RawMessage”类型的字段。我在 Swagger 规范中找不到任何合适的“数据类型”来涵盖这一点。我能想象的最接近的是“字节”格式的字符串。但这还不算接近。任何想法都会有很大帮助。

【问题讨论】:

    标签: json go swagger-2.0 openapi


    【解决方案1】:

    json.RawMessage 只是解析 json 消息的方式。它允许延迟解析某些字段或所有消息。

    它不会影响响应的结构或格式,因此您无需以任何方式在 openapi 规范中指定它。

    我唯一能猜到的是,某些字段可能具有从一个响应到另一个响应的不同模式。所以你不能同时记录所有这些(据我所知openapi特性),你所能做的就是把它描述为一般"object"。并在文档中的某处描述可能的模式。

    【讨论】:

    • 我记录的 API 向系统数据库提交请求,并将来自数据库的 JSON 响应作为“glob”(即 json.rawMessage)返回,并允许原始请求者破译。因此,响应对象的字段之一包含此“glob”。想知道在 swagger/openapi 中是否有办法描述这个。
    • 现在我明白你的意思了。我从来不需要这样的功能,但可能你正在寻找的是:swagger.io/docs/specification/describing-parameters/…
    猜你喜欢
    • 2017-03-31
    • 1970-01-01
    • 2022-11-11
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多