拥有主JSON文件
{"swaggerVersion":"1.2",
"apiVersion":"1.0",
"apis":[{"path":"/api1"},{"path":"/api2"},{"path":"/api3"},{"path":"/api4"}]}
和4个API中每个API的JSON文件,每个都与Swagger库配合使用。
但是当我尝试将它们全部放入一个JSON文件中时,如
{"swaggerVersion":"1.2",
"apiVersion":"1.0",
"apis":[{<api1 json file contents>},{<api2 json file contents>},{<api3 json file contents>},{<api4 json file contents>}]}
它没有用。
将几个Swagger v.1.2文件合并到一个文件中的正确方法是什么?
答案 0 :(得分:5)
根据Swagger 1.2 Specification你不能这样做。
“master”JSON文件(正如您所说)是Swagger API的Resource Listing,它只包含“可用资源的清单”。
此JSON文档的“apis”属性应该是具有特定结构的Resource Object数组:
{
"path": "/pets",
"description": "Operations about pets."
}
引用规范的API Declaration部分:
API声明提供有关在资源上公开的API的信息。每个资源应该有一个文件描述。该文件必须在路径字段描述的URL中提供。
答案 1 :(得分:2)
查看演示应用程序,以便在一个位置查看所有服务文档:https://github.com/varghgeorge/microservices-single-swagger
Repo展示了如何创建一个springboot应用程序,它将作为所有springfox / swagger文档的单个位置。
可以使用yaml config在此服务器中配置来自不同服务/位置的Swagger文档。详细信息在github位置。