brunopicci / services-bundle
此包实现了一个调用REST API的服务
1.4.0
2018-02-05 12:56 UTC
Requires
- php: ^5.3.3 || ^7.0
README
ServicesBundle
此包实现了一个调用REST API的服务。功能包括
- 调用REST API并接收解码为数组的JSON
- 调用REST API并接收未解码的JSON
- 可以自动传递HTTP动词和JSON作为参数,它会自动发出请求
注意
该包已发布并可使用。然而,它仍在积极开发中。
文档
此包允许调用REST API并提供一个具有基本配置的实体以返回JSON。
要使用此包,首先必须使用DI(依赖注入)中的服务,如下所示
$apiRest = $this->get('services.chiamatarest');
然后您可以对该服务进行设置。默认情况下,服务将搜索REST API的JSON响应中的“message”字段,该字段包含调用结果消息,以及名为“success”的字段,用于调用结果(true或false)。如果这不满足您的需求,您可以更改该名称如下
对于消息字段
$apiRest->setNomeCampoMessage("<your-field-name>");
对于成功字段
$apiRest->setNomeCampoSuccess("<your-field-name>");
您还可以决定不测试特定字段,通过设置此选项
$apiRest->setControlSuccess(false);
默认为true。
然后,您可以进行其他设置,例如
设置调用日志的项目
$apiRest->setChiamante("<your-application>");
设置HTTP动词
$apiRest->setTipoChiamata("<http-verb");
设置要调用的URL
$apiRest->setUrl("<api-rest-url>");
您可以将JSON输入传递过去,目前只有POST、PUT和GET HTTP动词接受JSON输入。您可以这样做
$apiRest->setJson("<your-json>");
对于每个请求,服务都会测试返回的HTTP状态码。如果收到200、201或202,则一切正常。在其他情况下,它将引发一个需要捕获的异常。
现在您可以通过数组接收API请求,如下所示
$returnJsonAarray=$apiRest->chiamataRestDecodificata();
或者您可以通过只接收JSON进行API请求,如下所示
$returnJson=$apiRest->chiamataRest();
您可以通过这种方式查看请求返回的HTTP状态码
$returnHttpCode=$apiRest->getHttpcode();
安装
步骤1:下载包
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此包的最新稳定版本
$ composer require brunopicci/call-rest-api
此命令需要您已全局安装Composer,如Composer文档中的安装章节中所述。
步骤2:启用包
然后,通过将其添加到项目app/AppKernel.php
文件中注册的包列表来启用该包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Services\Bundle\Rest\ServicesRestBundle(), ); // ... } // ... }
在config.yml中导入包的services.yml
imports: ... - { resource: "@ServicesRestBundle/Resources/config/services.yml" }
许可
此包采用MIT许可。