Skip to content

squareboat/nest-postman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NestJS Postman

Postman Collection Generator for NestJS Rest API.

Table of Content

Introduction

This library provides a simple way to generate a Postman collection for your NestJS Rest API app. With this library, you can easily export your API endpoints as a Postman collection, allowing you to test your API with Postman.


Installation

#Using NPM
npm i nest-postman

#Using YARN
yarn i nest-postman

Getting Started

To register PostmanModule with your app, import the module inside AppModule (your root module).

Static Registration

PostmanModule is added to global scope.

import { Module } from '@nestjs/common';
import { PostmanModule } from 'nest-postman'

@Module({
  imports: [
    PostmanModule.register({
      collectionName: process.env.APP_NAME || 'NestJS App',
      url: process.env.APP_URL || `http://localhost:${process.env.APP_PORT}/`,
      prefix: 'v1',
      filePath: '',
      description: 'This is my collection.'
    })
  ],
  controllers: [],
  providers: [],
})
export class AppModule { }

Recommended Way

Use ConfigModule provided by NestJS to load configurations. To learn about ConfigModule, click here.

#1. Create postman.ts file

import { PostmanOptions } from 'nest-postman/interfaces';
import { registerAs } from '@nestjs/config';
export default registerAs(
  'postman',
  () =>
    ({
      collectionName: process.env.APP_NAME || 'NestJS App',
      url: process.env.APP_URL || `http://localhost:${process.env.APP_PORT}/`,
      prefix: 'v1',
      filePath: '',
      description: 'This is my collection.',
    } as PostmanOptions),
);

#2. Register ConfigModule

import { Module } from "@nestjs/common";
import postman from "@config/fileystem";
import { ConfigModule } from "@nestjs/config";

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
      expandVariables: true,
      load: [postman],
    }),
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}

#3. Register Async StorageModule Add following snippet to the imports array. ConfigService is importable from @nestjs/config module.

 PostmanModule.registerAsync({
      imports: [ConfigModule],
      useFactory: (config: ConfigService) => config.get('postman'),
      inject: [ConfigService],
    })

Usage

As soon as you run your app, there will be a file created with name collection.json in your project directory. Use that file to import in your postman application and HOLA, your postman collection is ready for use.

License

This library is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published