节点解析路径可以使用swagger吗?

时间:2016-01-19 23:07:34

标签: node.js swagger restify swagger-node-express

node-restify库允许/foo/:id之类的路径。可以昂首阔步处理这样的路径?是什么样的?

var getFoo = {
    'spec': {
        'description': 'foo library',
        'path': '/foo/:id',
        'summary': 'return foo by id',
        'type': 'string',
        'produces': ['application/json']
    },
    'action': getFooObject()
};
swagger.addGet(getFoo)

当我在我的应用中尝试此操作时,http://locahost:3001/api-docs页面如下所示:

{
    apiVersion: "0.0.1",
    swaggerVersion: "1.2",
    apis: [ 
        {
            path: "/foo"
        }
    ]
}

我尝试使用\字符转义双冒号。但这并没有什么不同。还尝试用双引号替换单引号。仍然没有区别。我正在使用swagger-node-restify库,它是来自swagger-node存储库的分支。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您正在描述一个swagger 1.2项目,它有多个文件来描述它。您可以在此处阅读有关swagger 1.2规范的更多信息:

https://github.com/OAI/OpenAPI-Specification/blob/master/versions/1.2.md

因此,您的API不会在api-docs位置进行描述。它应该根据您上面的描述在api-docs/foo显示。

请注意,/api-docs称为资源列表,它指向Api声明,该声明相对于api-docs作为/foo托管。

最后说明,swagger规范1.2已经过时了,2.0的工具要好得多。考虑将项目升级到swagger-node或其他。