matijajanc / postman
Postman 文件生成器
1.0.0
2021-11-02 14:32 UTC
Requires
- php: ^8.0
- ext-json: *
Requires (Dev)
- orchestra/testbench: >=6.0
This package is auto-updated.
Last update: 2024-09-29 06:20:23 UTC
README
安装
composer require matijajanc/postman
Laravel
发布配置文件
php artisan vendor:publish --provider="Matijajanc\Postman\Providers\PostmanServiceProvider"
Lumen
在 bootstrap/app.php 中添加以下行
$app->register(Matijajanc\Postman\Providers\PostmanLumenServiceProvider::class);
发布配置文件
cp vendor/matijajanc/postman/config/postman.php config/postman.php
运行命令以生成 Postman 文件
php artisan postman:generate
此命令生成 2 个文件
- postman-environment.json (定义变量的位置)
- postman.json (定义所有 API 路由的位置)
目前它支持 Bearer Token 授权,如果您有其他需求,请创建新的 issue 或 pull request 在 github 上,我将添加/扩展它。
需求
- Laravel 8 或 Lumen 8(它也适用于 Laravel/Lumen 的旧版本,但您需要在 Postman 属性定义中提供 "method" 属性)
- PHP ^8.0
- 如果您想使用 JWT Bearer Token,则需要先进行配置 https://jwt-auth.readthedocs.io/en/develop/laravel-installation/
PHP 8 属性
我使用了 PHP 8 的新属性功能来定义我用于 Postman 文件生成器的新属性。对于 GET、DELETE 路由,您不需要定义此属性,仅在您想要自定义请求有效负载 POST、PUT 时提供此 Postman 属性。
用法
如果没有提供方法,它将调用默认的工厂 "definition" 方法
#[Postman(['factory' => ContractFactory::class])]
public function createContract(Request $request): JsonResponse
您可以使用额外的 "method" 属性覆盖调用的方法
#[Postman(['factory' => ContractFactory::class, 'method' => 'postCreateContract'])]
public function createContract(Request $request): JsonResponse
您可以使用 "mode" 属性覆盖正文类型
#[Postman(['factory' => ContractFactory::class, 'method' => 'postCreateContract', 'mode' => 'raw'])]
public function createContract(Request $request): JsonResponse