Подтвердить что ты не робот

Swagger Sails JS

Любая идея о том, как интегрировать swagger, swagger-ui с проектом sails js?

Где я могу найти информацию об этом или о другом способе комментировать api, сгенерированный с помощью парусов?

Спасибо!

4b9b3361

Ответ 1

Я искал решение для этого чуть более недели назад, но я нашел информацию немного разбросанной. Здесь, как я объединил swagger и swagger-ui с моим проектом парусов 0.11.x.

1. Установить паруса-чванство

npm install --save sails-swagger

Это обеспечивает крючок, который будет динамически генерировать документ swagger. К сожалению, он совместим только с парусами 0.12.x(который является rc во время этого сообщения). Итак, чтобы заставить его работать с 0.11.x, вы должны расширить SwaggerController и перезаписать имя крюка в config/installedHooks.js(ссылка на проблему)

API/контроллеры/SwaggerController.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
  }
});

конфиг /installedHooks.js

'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'
  }
};

Наконец, укажите конфигурацию хука в документах

конфиг /swagger.js

'use strict';

module.exports.swagger = {
  /**
   * require() the package.json file for your Sails app.
   */
  pkg: require('../package')
};

2. Установите swagger-ui

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!), но легко интегрировать его с парусами в настоящее время не очевидно.

3. Настроить swagger-ui

Наконец, вам нужно указать swagger-ui на ваш динамически созданный документ swagger. Маршрут по умолчанию для документа swagger /swagger/doc, поэтому вы можете явно установить его в конфигурации swagger-ui.

активы/документы/index.html

<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>

4. Прибыль

Теперь вы можете перейти к /docs в своем браузере и посмотреть свою красивую документацию.

sails-swagger-ui

Ответ 2

Я нашел решение, используя swagger-ui. Я создаю папку с именем docs в папке папок assets, разместите там swagger-ui и отредактируйте swagger.json. Затем я поднял паруса. Документы теперь доступны в http://ip_address:1337/docs. Я использую паруса v- 0.11.0

Ответ 3

Интермс для создания документации автоматически, вы можете проверить эту библиотеку, я думаю, что лучше решить проблему и просто генерирует файл swj.json автоматически с ваших контроллеров и маршрутов.

npm install sails-hook-swagger-generator --save

а затем просто sails lift и проверьте папку swagger, которую вы должны создать перед запуском sails lift

для получения дополнительной информации о конфигурации, вы можете здесь

Ответ 4

Установить

$ 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.