wch*_*ite 16 swagger sails.js swagger-ui
任何关于如何将swagger,swagger-ui与sails js项目集成的想法?
我在哪里可以找到有关它的信息,或者关于用帆来评论api的另一种方式?
谢谢!
gro*_*cky 31
一个多星期前我正在寻找解决方案,但我发现信息有点散乱.这就是我如何将swagger和swagger-ui与我的风帆0.11.x项目结合起来.
npm install --save sails-swagger
Run Code Online (Sandbox Code Playgroud)
这提供了一个动态生成swagger文档的钩子.不幸的是,它仅与帆0.12.x兼容(这是本文发布时的rc).因此,要使它与0.11.x一起工作,你必须扩展SwaggerController并覆盖config/installedHooks.js中的钩子名称(问题参考)
'use strict';
/**
* This is a temp fix while one sails 11.x
* @see https://github.com/tjwebb/sails-swagger/issues/3
*/
var _ = require('lodash');
var _super = require('sails-swagger/dist/api/controllers/SwaggerController');
_.merge(exports, _super);
_.merge(exports, {
_config: {
actions: false,
shortcuts: false,
rest: false
}
});
Run Code Online (Sandbox Code Playgroud)
'use strict';
/**
* This is a temp fix while one sails 11.x
* @see https://github.com/tjwebb/sails-swagger/issues/3
*/
module.exports.installedHooks = {
'sails-swagger': {
'name': 'swagger'
}
};
Run Code Online (Sandbox Code Playgroud)
最后,根据文档提供钩子的配置
'use strict';
module.exports.swagger = {
/**
* require() the package.json file for your Sails app.
*/
pkg: require('../package')
};
Run Code Online (Sandbox Code Playgroud)
npm install --save-dev swagger-ui@2
Run Code Online (Sandbox Code Playgroud)
有几种方法可以解决这个问题.您可以使用vanilla swagger-ui模块并将其中的所有内容添加dist到构建过程中.但我选择将其复制到我的项目中,因为我打算稍微自定义界面.
mkdir assets/docs
cp -r node_modules/swagger-ui/dist/* assets/docs/
Run Code Online (Sandbox Code Playgroud)
注意(2017年3月26日):swagger-ui v3.x已经使用React重新构建(yay!),但很容易将其与风帆集成在一起并不明显.
最后,您需要将swagger-ui指向动态生成的swagger文档.swagger doc的默认路由是/swagger/doc,因此您可以在swagger-ui配置中明确设置它.
<script type="text/javascript">
$(function () {
var url = '/swagger/doc';
// Pre load translate...
if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}
window.swaggerUi = new SwaggerUi({
url: url,
// ...removed for brevity
</script>
Run Code Online (Sandbox Code Playgroud)
现在,您可以/docs在浏览器中导航并查看漂亮的文档.
我找到了使用swagger-ui的解决方案。我在asset sails 文件夹中创建一个名为docs的文件夹,将swagger-ui内容放入其中,然后编辑swagger.json文件。然后,我升起了帆。该文档现已在http://ip_address:1337/docs中提供。我正在使用 sails v- 0.11.0
| 归档时间: |
|
| 查看次数: |
6805 次 |
| 最近记录: |