Как swagger / swashbuckle, но для узла.js?



Есть ли какой-либо инструмент для node express, где вы можете автоматически генерировать документацию swagger для существующего проекта ? Похожие на головорезов?

710   1  

1 ответ:

Я также изучал этот проект, который поможет вам swagger-node-express. swagger-ui , должен прийти как зависимость swagger-node-express. Swagger-node-express обертывает express и представляет его в виде нового интерфейса, что означает, что вы внесете изменения в код, чтобы заставить его работать. Вот как выглядел бы маршрут (взятый из их документов)

 var findById = {
  'spec': {
    "description" : "Operations about pets",
    "path" : "/pet.{format}/{petId}",
    "notes" : "Returns a pet based on ID",
    "summary" : "Find pet by ID",
    "method": "GET",
    "parameters" : [swagger.pathParam("petId", "ID of pet that needs to be fetched", "string")],
    "type" : "Pet",
    "errorResponses" : [swagger.errors.invalid('id'), swagger.errors.notFound('pet')],
    "nickname" : "getPetById"
  },
  'action': function (req,res) {
    if (!req.params.petId) {
      throw swagger.errors.invalid('id');
    }
    var id = parseInt(req.params.petId);
    var pet = petData.getPetById(id);

    if (pet) {
      res.send(JSON.stringify(pet));
    } else {
      throw swagger.errors.notFound('pet');
    }
  }
};

Где тип " Pet " все еще для вас, чтобы определить, я не буду переписывать их документы здесь.

Это будет тогда создайте файл, который swagger-ui может использовать, чтобы дать вам автономную систему самостоятельного документирования. Документация для swagger-node-express более чем достаточно хороша, чтобы получить его настройки (не забудьте установить swagger path, я сделал).

swagger.configureSwaggerPaths("", "/docs", "");
Показав вам инструменты, которые теоретически предлагают то, о чем вы просите, позвольте мне объяснить, почему я пришел к выводу, что не собираюсь их использовать.
  1. требуется много изменений кода - это действительно меньше работы, чем создание твоя собственная развязность.файл yml? Я - нет, не думаю.
  2. Рука, создающая чванство.файл yml с гораздо меньшей вероятностью затормозит ваш проект.
  3. в то время как swagger-node-express не был деприцирован, его РЕПО github больше не существует, его завернули в swagger-node, но этот проект действительно не упоминает об этом
  4. Я бы остерегался любого инструмента, который означает, что мне нужно обернуть Экспресс - это не то, что я хотел бы сделать.

TL; DR: Это возможно с большим количеством изменений кода-вероятно, не то, что Ваш после хотя.

Comments

    Ничего не найдено.