rubenrubiob/simple-api-caller-bundle

此包已被废弃且不再维护。未建议替代包。

Symfony框架的简单API调用器

0.0.5 2017-06-05 06:57 UTC

This package is auto-updated.

Last update: 2022-02-01 12:56:09 UTC


README

这是一个基于Httpful构建的简单包,它可以执行对URL的GET或POST请求,并将JSON响应解析为PHP数组。它支持发送自定义头信息,以及使用Symfony FileUploaded类附加文件。

安装

步骤1:下载包

打开命令行,进入您的项目目录,并执行以下命令以下载此包的最新稳定版本

$ composer require rubenrubiob/simple-api-caller-bundle

此命令要求您已全局安装Composer,具体请参考Composer文档的安装章节

步骤2:启用包

然后,通过将其添加到项目app/AppKernel.php文件中注册的包列表中来启用该包

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new rubenrubiob\SimpleApiCallerBundle\rubenrubiobSimpleApiCallerBundle(),
        );

        // ...
    }

    // ...
}

用法

调用器作为服务提供,因此您可以在任何需要的地方使用它。以下是在控制器中使用的一些示例。

GET请求

$url = 'http://your/complete/url';
$headers = array(
    'header-1-name'     => 'header-1-value',
    'header-2-name'     => 'header-2-value',
);

$response = $this->get('rrb.simple_api_caller')->get($url, $headers);

POST请求

use Symfony\Component\HttpFoundation\File\UploadedFile;

// ...

$url = 'http://your/complete/url';
$data = array(
    'field-1'       => 'field-1-value',
    'field-2'       => new UploadedFile('/path/to/file', 'file-name'),
    'field-3'       => array(
        'subfield-3.1'   => 'subvalue-3.1',
        'subfield-3.2'   => 'subvalue-3.2',
    ),
);
$headers = array(
    'header-1-name'     => 'header-1-value',
    'header-2-name'     => 'header-2-value',
);

$response = $this->get('rrb.simple_api_caller')->post($url, $data, $headers);

PUT请求

use Symfony\Component\HttpFoundation\File\UploadedFile;

// ...

$url = 'http://your/complete/url';
$data = array(
    'field-1'       => 'field-1-value',
    'field-2'       => new UploadedFile('/path/to/file', 'file-name'),
    'field-3'       => array(
        'subfield-3.1'   => 'subvalue-3.1',
        'subfield-3.2'   => 'subvalue-3.2',
    ),
);
$headers = array(
    'header-1-name'     => 'header-1-value',
    'header-2-name'     => 'header-2-value',
);

$response = $this->get('rrb.simple_api_caller')->put($url, $data, $headers);

PATCH请求

use Symfony\Component\HttpFoundation\File\UploadedFile;

// ...

$url = 'http://your/complete/url';
$data = array(
    'field-1'       => 'field-1-value',
    'field-2'       => new UploadedFile('/path/to/file', 'file-name'),
    'field-3'       => array(
        'subfield-3.1'   => 'subvalue-3.1',
        'subfield-3.2'   => 'subvalue-3.2',
    ),
);
$headers = array(
    'header-1-name'     => 'header-1-value',
    'header-2-name'     => 'header-2-value',
);

$response = $this->get('rrb.simple_api_caller')->patch($url, $data, $headers);

期望

默认情况下,服务期望JSON响应并将其解析为数组。但也可以指定期望的MIME类型

$url = 'http://your/complete/url';
$headers = array(
    'header-1-name'     => 'header-1-value',
    'header-2-name'     => 'header-2-value',
);

$response = $this->get('rrb.simple_api_caller')->expects('html')->get($url, $headers);

支持的MIME类型是Httpful的,因此请查阅以获取更多信息。