samody/laravel-smart-postman-generator

A smart Laravel-to-Postman collection generator focused on clean structure, smart naming, request body generation, and documentation-ready API exports.

Maintainers

Package info

github.com/samody2006/laravel-smart-postman-generator

Homepage

Issues

pkg:composer/samody/laravel-smart-postman-generator

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

v1.0.1 2026-05-07 17:19 UTC

This package is auto-updated.

Last update: 2026-05-07 19:48:47 UTC


README

A smarter Laravel-to-Postman exporter focused on generating clean, organized, and documentation-ready Postman collections with minimal manual cleanup.

Built as an enhanced fork of the original:

  • Original Package: andreaselia/laravel-api-to-postman
  • Original Author: Andreas Elia

This project expands the original idea into a more production-ready API documentation generator for modern Laravel applications.

Why Use This?

The common problems with generated Postman collections:

  • Endpoints export with raw route paths as names
  • Collections become difficult to navigate as APIs grow
  • JSON bodies are flat and not representative of actual payloads
  • Teams spend time manually renaming requests and organizing folders
  • Large APIs require exporting everything repeatedly

This package solves those issues by generating:

  • cleaner request names
  • grouped request folders
  • smarter JSON payloads
  • scalable exports
  • documentation-ready collections

Installation

composer require samody/laravel-smart-postman-generator

Publish Configuration

php artisan vendor:publish --tag=postman-config

Quick Start

Export entire API:

php artisan export:postman

Export only a specific API section:

php artisan export:postman --path=api/user

Export with JSON request bodies:

php artisan export:postman --body-mode=json

Export with bearer authentication:

php artisan export:postman --bearer="your-token"

Features

Core Export Features

  • ✅ Automatic Laravel route discovery
  • ✅ Postman Collection v2.1 export
  • ✅ Bearer authentication support
  • ✅ Basic authentication support
  • ✅ Configurable headers
  • ✅ Structured route export
  • ✅ CRUD folder generation
  • ✅ Docblock descriptions support

Smart Export Features

Route Path Filtering

Export only a section of your API instead of regenerating the entire collection.

php artisan export:postman --path=api/admin

Useful for:

  • modular APIs
  • large projects
  • incremental documentation updates
  • team-based API exports

JSON Body Support

Export request bodies as:

  • json
  • form-data
  • urlencoded

Example:

'body_format' => 'json',

Body Mode Detection

Control how request bodies are generated.

'body_mode' => 'auto',

Supported modes:

Mode Description
formdata Always generate form-data
json Always generate JSON
auto Automatically detect best body type

FormRequest Validation Export

Automatically parse Laravel FormRequest validation rules and export them into Postman request bodies.

Supports:

  • validation descriptions
  • required field detection
  • nullable fields
  • arrays
  • nested request fields

Smart Naming System (Planned)

Automatically convert technical route paths into readable Postman request names.

Example:

Route Method Generated Name
api/user/profile GET Get User Profile
api/user/logout POST Request User Logout
api/user/orders/{id}/cancel POST Cancel User Order

This removes the need for manually renaming hundreds of requests after export.

Automatic Folder Grouping (Planned)

Automatically organize requests into folders.

Group By Controller

UserController
 ├── Get User Profile
 ├── Update User Profile
 └── Logout User

Group By Path

User
 ├── Profile
 ├── Orders
 └── Notifications

Config example:

'group_by' => 'controller',

Supported options:

'controller'
'path'
'none'

Structured JSON Generation (Planned)

Generate real nested JSON payloads from FormRequest validation rules.

Current Flat Output

{
  "items.*.product_id": "",
  "items.*.quantity": ""
}

Planned Structured Output

{
  "items": [
    {
      "product_id": 1,
      "quantity": 1
    }
  ]
}

Example Value Generation (Planned)

Automatically generate intelligent example values.

Example:

{
  "email": "john@example.com",
  "name": "John Doe",
  "quantity": 1,
  "is_active": true
}

Potential support:

  • Faker integration
  • enum value detection
  • date examples
  • UUID generation
  • file placeholders

Configuration

Configuration file:

config/api-postman.php

Example Configuration

return [

    'base_url' => env('APP_URL'),

    'structured' => true,

    'crud_folders' => true,

    'body_mode' => 'auto',

    'body_format' => 'json',

    'enable_formdata' => true,

    'smart_naming' => true,

    'group_by' => 'controller',

];

Usage

Export Entire API

php artisan export:postman

Export Specific API Section

php artisan export:postman --path=api/user

Export Using JSON Bodies

php artisan export:postman --body-mode=json

Export With Bearer Token

php artisan export:postman --bearer="your-token"

Export With Basic Auth

php artisan export:postman --basic="username:password"

Output Location

Generated collections are stored in:

storage/app/postman

Example Generated Improvements

Before

api/user/orders/{id}/cancel

After

Cancel User Order

Before

{
  "items.*.product_id": ""
}

After

{
  "items": [
    {
      "product_id": 1
    }
  ]
}

Roadmap

Phase 1

  • JSON body support
  • Body mode support
  • Route path filtering

Phase 2

  • Smart request naming
  • Automatic folder grouping
  • Nested path grouping

Phase 3

  • Structured JSON generation
  • Example value generation
  • Faker integration

Phase 4

  • Response example generation
  • OpenAPI support
  • Environment export support
  • Swagger compatibility

Testing

composer test

Real-World Benefits

Development

✅ Faster API testing
✅ Cleaner Postman collections
✅ Less manual cleanup
✅ Better onboarding for teams
✅ Easier frontend/backend collaboration

Documentation

✅ Documentation-ready exports
✅ Human-readable request names
✅ Organized request grouping
✅ Better payload representation

Team Collaboration

✅ Consistent Postman structures
✅ Easier API navigation
✅ Faster endpoint discovery
✅ Cleaner API handoffs

Contributing

Contributions are welcome.

You can:

  • open issues
  • suggest improvements
  • submit pull requests

Credits

Original Package

Andreas Elia
andreaselia/laravel-api-to-postman

Smart Fork & Enhancements

Maintained as an enhanced developer-experience focused fork.

License

MIT