postman-generator
📦 TypeScript-декораторы для генерации Postman коллекций из ваших Node.js/Express контроллеров.
Создавайте коллекции Postman автоматически, используя простой декоратор поверх ваших маршрутов. Поддерживает ESM, TypeScript и совместим с современными бэкендами.
🚀 Установка
npm install postman-generator
📦 Возможности
- ✅ Поддержка
GET
, POST
, PUT
, DELETE
- ✅ Группировка маршрутов по папкам
- ✅ Указание моковых данных для тела запроса
- ✅ ESM + TypeScript
- ✅ Простая генерация Postman коллекции одним вызовом
✍️ Использование
1. Отметьте маршруты с помощью @PostmanRoute
import { PostmanRoute } from 'postman-generator';
export class UserController {
@PostmanRoute({
method: 'POST',
path: '/users',
folder: 'Users',
requestBody: { name: 'John Doe', email: 'john@example.com' }
})
createUser() {
// ваш код
}
@PostmanRoute({
method: 'GET',
path: '/users',
folder: 'Users'
})
getUsers() {
// ваш код
}
}
2. Импортируйте все контроллеры и вызовите генератор
Создайте файл generate-postman.ts
:
import './src/controllers/user.controller.ts'; // Импортируйте все файлы, где есть декораторы
import { generatePostmanCollection } from 'postman-generator';
generatePostmanCollection(); // По умолчанию сохраняет в ./postman_collection.json
🧪 Добавьте скрипт в package.json
{
"scripts": {
"generate:postman": "tsx generate-postman.ts"
}
}
Запуск:
npm run generate:postman
🛠 Настройки
Вы можете передать путь для сохранения файла:
generatePostmanCollection('./docs/postman.json');
📁 Структура Postman коллекции
- Все маршруты группируются по папкам (
folder
)
- Вставляется переменная
{{base_url}}
(вы можете изменить в Postman)
🔧 Требования
- Node.js 16+
- TypeScript >= 5.0
- Поддержка декораторов (
experimentalDecorators: true
в tsconfig.json
)
📃 Лицензия
MIT
🤝 Поддержка
PR и предложения приветствуются!