如何在swagger-spec中表达“任意JSON”?

时间:2014-08-13 22:04:08

标签: json rest swagger

假设我有一个可以接受请求体中任意JSON的REST服务。如何使用swagger-spec建模?

我考虑过Model Objects,但我只想将任意JSON(作为字符串)包装在容器JSON对象中,例如{"payload": "{ some JSON object serialized to a string }"},这并不是真的有用。< / p>

或者,是否有其他方式来表示端点可以在请求正文中接收任意JSON?

2 个答案:

答案 0 :(得分:4)

Swagger尝试在API方面具有决定性,因此您不会直接支持您提出的要求。

我能想到实现你想要的唯一方法就是设置&#34;消费&#34;属于&#34; application / json&#34;并添加&#34; body&#34; string类型的参数。从理论上讲,这应该只发送JSON,但实际上,任何字符串都可以发送。

此外,如果他们在将数据库发送到服务器之前尝试将字符串转换为JSON对象,则可能会破坏某些第三方工具。

答案 1 :(得分:2)

将请求的正文有效负载建模为DataFile::getFileName,其架构仅为AND .. IN_ARRAY_CENTRAL(0) = '0' AND ... 。然后,swagger UI编辑器将提示用户使用包含parameters的大型textarea,他们可以使用JSON对象进行填充。

"type": "object"