hollisho / http-client
http-client
v1.1.7
2024-11-13 06:55 UTC
Requires
- php: >=7.2
- ext-curl: *
- doctrine/annotations: ^1.14
- guzzlehttp/guzzle: ^6.2 || ^7.0
- hollisho/object-builder: ^1.0
Requires (Dev)
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-11-13 06:56:13 UTC
README
$ composer require hollisho/http-client
TestCase
- 执行指定目录所有用例
$ ./vendor/phpunit/phpunit/phpunit --configuration phpunit.xml
- 执行指定文件
$ ./vendor/phpunit/phpunit/phpunit --configuration phpunit.xml --test-suffix RequestTest.php
- 执行 RequestTest 用例
$ ./vendor/phpunit/phpunit/phpunit --configuration phpunit.xml --filter RequestTest
- 执行 RequestTest::test 用例
$ ./vendor/phpunit/phpunit/phpunit --configuration phpunit.xml --filter RequestTest::test
Basic Use
$httpClient = new BaseClient('https://www.1024plus.com'); $httpClient->pushMiddleware(new AuthRequest()); $httpClient->httpPost('/category/springboot/');
Use Annotation
/** * @author Hollis * Interface UserService * * @BaseUrl(host="https://www.1024plus.com/") * * @package hollisho\httpclientTests\Service */ interface UserService { /** * @Headers(headers={ * @AuthBasic(username="override", password="override"), * @CustomHeader(name="x-override", body="test") * }) * * @Action( * method=@Get, * endpoint=@Endpoint(uri="/api/entry/{id}") * ) */ public function getUser($id); /** * @Action( * method=@Post, * endpoint=@Endpoint(uri="/resource"), * body=@Body(json=true, name="body") * ) */ public function createUser($data); } // 生成 FeignClient 实例 $client = FeignClientFactory::create(UserService::class); echo $client->getUser(1);