Любая идея о том, как интегрировать swagger, swagger-ui с проектом sails js?
Где я могу найти информацию об этом или о другом способе комментировать api, сгенерированный с помощью парусов?
Спасибо!
Любая идея о том, как интегрировать swagger, swagger-ui с проектом sails js?
Где я могу найти информацию об этом или о другом способе комментировать api, сгенерированный с помощью парусов?
Спасибо!
Я искал решение для этого чуть более недели назад, но я нашел информацию немного разбросанной. Здесь, как я объединил swagger и swagger-ui с моим проектом парусов 0.11.x.
npm install --save sails-swagger
Это обеспечивает крючок, который будет динамически генерировать документ 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
}
});
'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'
}
};
Наконец, укажите конфигурацию хука в документах
'use strict';
module.exports.swagger = {
/**
* require() the package.json file for your Sails app.
*/
pkg: require('../package')
};
npm install --save-dev [email protected]
Есть несколько способов справиться с этим. Вы можете использовать модуль vanilla swagger-ui и добавить все в свой dist
к вашему процессу сборки. Но я решил скопировать его в свой проект, потому что я намерен немного настроить интерфейс.
mkdir assets/docs
cp -r node_modules/swagger-ui/dist/* assets/docs/
ПРИМЕЧАНИЕ (3/26/2017): swagger-ui v3.x был перестроен с использованием React (yay!), но легко интегрировать его с парусами в настоящее время не очевидно.
Наконец, вам нужно указать swagger-ui на ваш динамически созданный документ swagger. Маршрут по умолчанию для документа swagger /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>
Теперь вы можете перейти к /docs
в своем браузере и посмотреть свою красивую документацию.
Я нашел решение, используя swagger-ui. Я создаю папку с именем docs в папке папок assets, разместите там swagger-ui и отредактируйте swagger.json. Затем я поднял паруса. Документы теперь доступны в http://ip_address:1337/docs. Я использую паруса v- 0.11.0
Интермс для создания документации автоматически, вы можете проверить эту библиотеку, я думаю, что лучше решить проблему и просто генерирует файл swj.json автоматически с ваших контроллеров и маршрутов.
npm install sails-hook-swagger-generator --save
а затем просто sails lift
и проверьте папку swagger, которую вы должны создать перед запуском sails lift
для получения дополнительной информации о конфигурации, вы можете здесь
Установить
$ 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
.