Sails.js 昂首阔步
你知道如何将swagger、swagger用户界面与sails js项目集成吗 我在哪里可以找到关于它的信息,或者关于用sails生成的api的另一种注释方式的信息Sails.js 昂首阔步,sails.js,swagger,swagger-ui,Sails.js,Swagger,Swagger Ui,你知道如何将swagger、swagger用户界面与sails js项目集成吗 我在哪里可以找到关于它的信息,或者关于用sails生成的api的另一种注释方式的信息 谢谢 我找到了一个解决方案。我在assetssails文件夹中创建了一个名为docs的文件夹,将swagger ui内容放在那里,然后编辑swagger.json文件。然后,我做了扬帆运动。这些文档现在在中提供。我正在使用sailsv-0.11.0一个多星期前我正在寻找解决方案,但我发现信息有点分散。下面是我如何将swagger和s
谢谢 我找到了一个解决方案。我在assetssails文件夹中创建了一个名为docs的文件夹,将swagger ui内容放在那里,然后编辑swagger.json文件。然后,我做了扬帆运动。这些文档现在在中提供。我正在使用sailsv-0.11.0一个多星期前我正在寻找解决方案,但我发现信息有点分散。下面是我如何将swagger和swagger ui与我的sails 0.11.x项目集成的 1.扬帆 这提供了一个钩子,可以动态生成swagger文档。不幸的是,它只与sails 0.12.x兼容(在本文发表时它是一个rc)。因此,要使其与0.11.x一起工作,您必须扩展SwaggerController并在config/installedHooks.js()中覆盖钩子的名称 api/controllers/SwaggerController.js config/installedHooks.js 最后,根据文档提供钩子的配置 config/swagger.js 2.安装招摇过市用户界面 有几种方法可以解决这个问题。您可以使用vanilla-swagger用户界面模块,将其
dist
中的所有内容添加到构建过程中。但我选择将其复制到我的项目中,因为我打算稍微定制一下界面
mkdir assets/docs
cp -r node_modules/swagger-ui/dist/* assets/docs/
注意(2017年3月26日):swagger ui v3.x已使用React(耶!)重新构建,但目前尚不清楚如何将其与sails轻松集成
3.配置招摇过市用户界面
最后,您需要将swagger ui指向动态生成的swagger文档。swagger文档的默认路由为,因此您可以在swagger ui配置中显式设置它
资产/docs/index.html
$(函数(){
var url='/swagger/doc';
//预加载转换。。。
if(window.SwaggerTranslator){
window.SwaggerTranslator.translate();
}
window.swaggerUi=新的swaggerUi({
url:url,
//…为简洁起见,请删除
4.利润
现在,您可以在浏览器中导航到/docs
,并查看漂亮的文档
安装
$ npm install sails-swagger --save
配置
// config/swagger.js
module.exports.swagger = {
/**
* require() the package.json file for your Sails app.
*/
pkg: require('../package'),
ui: {
url: 'http://swagger.balderdash.io'
}
};
安装和配置swagger后,您可以在
/swagger/doc
路径上找到文档输出。在自动生成文档方面,您可以查看此库,因为我认为它可以更好地解决问题,并且只需从控制器和路径自动生成swagger.json文件
npm install sails-hook-swagger-generator --save
然后只需sails lift
并检查swagger文件夹,您必须在运行sails lift
更新
它现在支持OAS 3.0,并为actions和Action2提供了更好的文档
有关配置的更多信息,您可以查看repo安装:
npm i@logististinfotech/sails-hook-actions2-swagger
并在浏览器中打开http://localhost:1337/swagger
仅此而已,很酷。太好了,让我看看你的项目。谢谢!Strongloop提供了这一点-box@Vanuan:如果不使用,您可以禁用
blueprints.js
中的默认设置。这将从swagger文档中删除所有设置。如果您安装了--no frontend option node_modules/swagger ui/dist/不再使用c,则此选项不起作用ontains index.html。只有4个文件。@jankigadhiya感谢您的提醒!我添加了一条注释,将swagger ui安装限制为2.x。如果您的项目是使用--no frontend选项生成的,那么您必须将节点模块/swagger ui/dist/
复制到.tmp/public/docs
(例如使用grunt任务)可能只是多一点信息-最简单的方法是下载zip并将/dist文件夹内容放在您希望swagger ui存在的任何位置。之后,您唯一需要更改的是url-sails swagger软件包在“/swagger/doc”处生成swagger文件。之后,这非常有效。虽然这可能从理论上回答了这个问题,在这里包括答案的基本部分,并提供链接以供参考。如何集成swagger ui以在浏览器中查看某条路线上的json?哦,您可以通过此过程使用生成的json作为url路径@PavanBTW,Theo是链接的sails hook的作者。@TheophilusOmoregbee我在哪里可以看到swagger?当我我什么都没做
npm install --save-dev swagger-ui@2
mkdir assets/docs
cp -r node_modules/swagger-ui/dist/* assets/docs/
<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>
$ npm install sails-swagger --save
// config/swagger.js
module.exports.swagger = {
/**
* require() the package.json file for your Sails app.
*/
pkg: require('../package'),
ui: {
url: 'http://swagger.balderdash.io'
}
};
npm install sails-hook-swagger-generator --save