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", "");
- требуется много изменений кода - это действительно меньше работы, чем создание твоя собственная развязность.файл yml? Я - нет, не думаю.
Рука, создающая чванство.файл yml с гораздо меньшей вероятностью затормозит ваш проект.- в то время как swagger-node-express не был деприцирован, его РЕПО github больше не существует, его завернули в swagger-node, но этот проект действительно не упоминает об этом
Я бы остерегался любого инструмента, который означает, что мне нужно обернуть Экспресс - это не то, что я хотел бы сделать.TL; DR: Это возможно с большим количеством изменений кода-вероятно, не то, что Ваш после хотя.
Comments