rubenrubiob / simple-api-caller-bundle
此包已被废弃且不再维护。未建议替代包。
Symfony框架的简单API调用器
0.0.5
2017-06-05 06:57 UTC
Requires
- php: >=5.3.2
- nategood/httpful: *
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的,因此请查阅以获取更多信息。