mpp/apicil-client-bundle

Symfony ApiCil Bundle

v3.1.13 2024-04-24 13:07 UTC

README

安装

要安装此包,请运行以下命令

$ composer require mpp/apicil-client-bundle

配置

首先创建一个guzzle客户端

// config/packages/eight_point_guzzle.yaml
eight_points_guzzle:
    clients:
        my_apicil_client:
            base_url: '%env(APICIL_BASE_URL)%'
            options:
                auth:
                    - '%env(APICIL_USERNAME)%'
                    - '%env(APICIL_PASSWORD)%'
        my_apicil_sign_client:
            base_url: '%env(APICIL_BASE_URL)%'
            options:
                auth:
                    - '%env(APICIL_SIGN_USERNAME)%'
                    - '%env(APICIL_SIGN_PASSWORD)%'

然后配置此客户端以便由包使用

// config/packages/mpp_apicil_client.yaml
mpp_apicil_client:
    http_client: 'eight_points_guzzle.client.my_apicil_client'
    sign_http_client: 'eight_points_guzzle.client.my_apicil_sign_client'

确保在symfony配置中启用了序列化器和属性信息组件(用于序列化和反序列化)

// config/packages/framework.yaml
framework:
    serializer:
        enabled: true
    property_info:
        enabled: true

客户端

以下是每个规范名称对应的客户端映射

如何使用?

如何获取特定的客户端域?

以下是一个示例控制器,展示如何获取特定的客户端域

<?php

namespace App\Controller;

use Mpp\ApicilClientBundle\Client\ApicilClientDomainRegistryInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class ExampleController extends AbstractController
{
    public function exampleAction(ApicilClientDomainRegistryInterface $apicilClientRegistry)
    {
        // Here are the three different available methods on how to retrieve a client domain by its alias (choose the one you prefer)
        $myClient = $apicilClientRegistry->get('client_domain_alias');
        // or
        $myClient = $apicilClientRegistry->getClientDomainAlias();

        // Execute operations from the retrieved client domain
        // ...
    }
}

如何使用每个客户端?

以下将展示每个客户端的用法示例

测试

更新phpunit.xml.dist中的环境变量

<!-- ... -->
<php>
    <!-- ... -->
    <env name="APP_ENV" value="test" />
    <env name="APICIL_BASE_URL" value="APICIL_BASE_URL" />
    <env name="APICIL_USERNAME" value="USEERNAME" />
    <env name="APICIL_PASSWORD" value="PASSWORD" />
    <!-- ... -->
</php>
<!-- ... -->

然后,如果您想运行测试套件,请使用以下命令

$ make composer-install # once

$ make phpunit

待办事项

  • 创建客户端中使用的缺失模型/dto类
    • CourtierDto
    • DonneesReferencesActifDto
    • FraisEncoursDto
    • PeriodiciteDto
    • 资源创建结果
    • 账户情况Dto
    • 财务行为Dto
    • 财务咨询Dto
    • 财务Dto
    • 财务问题Dto
    • 分配Dto
    • 坐标变更Dto
    • 功能错误代码Dto
    • 国际银行帐号Dto
    • 部分咨询Dto
    • 电子邮件建议Dto
    • 回收支付撤销
    • 选项删除Dto
    • 管理模式Dto
    • 支持结构问题Dto
    • 订阅电子邮件建议Dto
    • 文档列表Dto
    • 股票账户Dto
    • 管理配置文件合同Dto
    • 回收合同配置文件管理Dto
    • 资产类别Dto
    • 推荐基础Dto
    • 允许配置文件分配Dto
  • 添加单元测试
    • Apicil客户API
    • Apicil仲裁客户API
    • Apicil交易账户客户API
    • Apicil合同客户API
    • Apicil集体合同客户API
    • Apicil参考客户API
    • Apicil产品客户API
    • Apicil财务配置文件客户API
    • ApicilKYC客户联系信息API
    • ApicilKYC国际银行帐号API
    • Apicil推荐API
    • Apicil管理API
    • Apicil部分回购API
    • Apicil完全回购API
    • Apicil项目API
    • Apicil支付API
  • 更新文档
    • 在文档中添加所有路由的客户示例用法
  • 增强选项的解决方式(例如:如何处理与文件相关的字段 => 添加特性?)