JesseyChen / Blog

lumen/laravel+swagger,在框架上集成文档和测试工具
0 stars 0 forks source link

Lumen/Laravel使用Guzzle #3

Open JesseyChen opened 5 years ago

JesseyChen commented 5 years ago

Step1. 创建lumen项目

composer create-project laravel/lumen guzzle-demo

Step2. 使用composer引入guzzle包

composer require guzzlehttp/guzzle image

Step3. 使用

<?php

namespace App;
/**
 * Created by PhpStorm.
 * User: summer
 * Date: 18-12-20
 * Time: 下午2:54
 */

use GuzzleHttp\Psr7;

class Guzzle
{
    static public function get()
    {
        $client = new \GuzzleHttp\Client();

        $url = 'api-tbond.com/admin/users/nationalities';
        $array = [
            'headers' => [],
            'query' => [
                'search_name'=>'中'
            ],
            'http_errors' => false   #支持错误输出
        ];
        $response = $client->request('GET', $url, $array);
        dump($response->getStatusCode());   #打印响应信息
        dump(json_decode($response->getBody()->getContents()));   #输出结果
    }

    static public function post()
    {
        $client = new \GuzzleHttp\Client();

        $url = 'api-tbond.com/admin/users/nationalities';
        $array = [
            'json' => [
                'name'=>'意大利',
                'en_name'=>'Italy',
                'kyc_type'=>1,
                'order'=>0,
                'is_forbid'=>0,
            ],
            'query' => [],
            'http_errors' => false
        ];
        $response = $client->request('post', $url, $array);
        dump($response->getStatusCode());   #打印响应信息
        dump(json_decode($response->getBody()->getContents()));   #输出结果
    }

    static public function put()
    {
        $client = new \GuzzleHttp\Client();

        $url = 'api-tbond.com/admin/users/nationalities/6';
        $array = [
            'json' => [
                'name'=>'意大利1',
                'en_name'=>'Italy1',
                'kyc_type'=>1,
                'order'=>0,
                'is_forbid'=>0,
            ],
            'query' => [],
            'http_errors' => false
        ];
        $response = $client->request('put', $url, $array);
        dump($response->getStatusCode());   #打印响应信息
        dump(json_decode($response->getBody()->getContents()));   #输出结果
    }

    static public function delete()
    {
        $client = new \GuzzleHttp\Client();

        $url = 'api-tbond.com/admin/users/nationalities/6';
        $array = [
            'json' => [],
            'query' => [],
            'http_errors' => false
        ];
        $response = $client->request('delete', $url, $array);
        dump($response->getStatusCode());   #打印响应信息
        dump(json_decode($response->getBody()->getContents()));   #输出结果
    }

   static public function upload()
    {
        $client = new \GuzzleHttp\Client();
        $body = fopen('/home/summer/图片/dog1.jpg', 'r');
        $response = $client->request('POST', 'http://account.tbond.test/upload',
            [
                'multipart' => [
                    [
                        'name' => 'body',
                        'contents' => fopen('/home/summer/图片/dog1.jpg', 'r')
                    ],
                ]
            ]
        );
        dump($response->getStatusCode());   #打印响应信息
        dump($response->getBody());
        dump(json_decode($response->getBody()->getContents()));   #输出结果
    }
}

官网文档 http://docs.guzzlephp.org/en/latest/index.html