PHP code example of silvio-batista / laravel-postman-exporter

1. Go to this page and download the library: Download silvio-batista/laravel-postman-exporter library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

silvio-batista / laravel-postman-exporter example snippets


return [
    // Nome padrão da collection
    'collection_name' => env('APP_NAME', 'Laravel API'),
    
    // URL base padrão
    'base_url' => env('APP_URL', 'http://localhost'),
    
    // Prefixos de rotas a incluir (null = todas)
    'route_prefix' => ['api'],
    
    // Padrões de rotas a excluir
    'exclude_routes' => [
        '_debugbar/*',
        'telescope/*',
        'horizon/*',
        'sanctum/csrf-cookie',
    ],
    
    // Incluir responses de exemplo
    'iente
    'variables' => [
        'base_url' => env('APP_URL', 'http://localhost'),
        'auth_token' => '',
    ],
];

// routes/api.php
Route::prefix('api')->group(function () {
    Route::get('/users', [UserController::class, 'index']);
    Route::post('/users', [UserController::class, 'store']);
    Route::get('/users/{id}', [UserController::class, 'show']);
    
    Route::middleware('auth:sanctum')->group(function () {
        Route::put('/users/{id}', [UserController::class, 'update']);
        Route::delete('/users/{id}', [UserController::class, 'destroy']);
    });
});

// app/Http/Requests/StoreUserRequest.php
class StoreUserRequest extends FormRequest
{
    public function rules(): array
    {
        return [
            'name' => ['in:18'],
            'tags' => ['array', 'min:1'],
        ];
    }
}

// app/Http/Controllers/UserController.php
class UserController extends Controller
{
    public function store(StoreUserRequest $request)
    {
        $user = User::create($request->validated());
        return response()->json($user, 201);
    }
}

'email' => ['rl']                           // → "https://example.com"
'date' => ['date']                         // → "2024-01-15"
'is_active' => ['boolean']                 // → true
'price' => ['numeric', 'min:0']            // → 0
'status' => ['in:active,inactive']         // → "active"

// Por prefixo de rota (padrão)
'organize_by' => 'prefix',  // api/users, api/posts

// Por controller
'organize_by' => 'controller',  // UserController, PostController

// Por middleware
'organize_by' => 'middleware',  // auth, guest, admin

Route::get('/users/{id}/posts/{postId}', ...);
// Gera: /users/{{id}}/posts/{{postId}}

Route::middleware('auth:sanctum')->group(function () {
    // Headers gerados automaticamente:
    // Authorization: Bearer {{auth_token}}
});
bash
php artisan vendor:publish --provider="LaravelPostmanExporter\PostmanExporterServiceProvider"
bash
php artisan postman:export
bash
# Especificar caminho de saída customizado
php artisan postman:export --output=public/api-docs.json

# Definir nome customizado da collection
php artisan postman:export --name="My API v1"

# Filtrar rotas por padrão
php artisan postman:export --routes="api/*"

# Excluir rotas específicas
php artisan postman:export --exclude="admin/*"

# Combinar opções
php artisan postman:export --output=api.json --name="My API" --routes="api/*"
bash
php artisan postman:export