pedroquezado/api-loader

用于加载和交互API的库

1.0.2 2023-06-30 14:20 UTC

This package is auto-updated.

Last update: 2024-09-30 01:54:41 UTC


README

Maintainer Source Code PHP from Packagist Latest Version Software License Build Quality Score Total Downloads

关于API-Loader

API客户端库

用于与各种API交互的库。

描述

这个库提供了一个方便的接口来与各种API进行通信。它提供了执行HTTP请求、在API上进行身份验证以及执行各种操作的方法,例如获取数据、创建、更新和删除资源。

安装

要开始使用这个库,请按照以下步骤操作

  1. 将此存储库克隆到您的本地环境中。
  2. 执行命令 composer require pedroquezado/api-loader 以安装依赖项。

配置

在您能够使用此库之前,您需要配置API访问密钥。

配置访问密钥

APIClient类提供了两种配置访问密钥的方法

setApiKey(apiKey, [titleKey])

配置API访问密钥。

  • apiKey (string): API访问密钥。
  • titleKey (string, 可选): 发送密钥时使用的标题(默认: "Access-Token")。

示例

$apiClient->setApiKey('SEU_ACCESS_TOKEN', 'nomear_ApiKey');

setSecretApiKey(secretApiKey, [titleKey])

配置秘密API访问密钥。

  • secretApiKey (string): 秘密API访问密钥。
  • titleKey (string, 可选): 发送秘密密钥时使用的标题(默认: "Secret-Access-Token")。

示例

$apiClient->setSecretApiKey('SUA_SECRET_ACCESS_TOKEN', 'nomear_SecretApiKey');

操作方法

APIClient类提供了以下方法与API交互

get(path, [params])

对指定路径执行GET请求。

  • path (string): API请求的路径。
  • params (array, 可选): 要包含在请求中的查询参数(默认: [])。

示例

$response = $apiClient->get('/produtos', ['categoria' => 'eletrônicos']);

getWithPagination(path, [params])

对指定路径执行GET请求,支持分页。

  • path (string): API请求的路径。
  • params (array, 可选): 要包含在请求中的查询参数(默认: [])。示例
$response = $apiClient->getWithPagination('/pedidos', ['status' => 'Em Aberto']);

post(path, data)

对指定路径执行带有提供数据的POST请求。

  • path (string): API请求的路径。
  • data (array): 要在请求中发送的数据。示例
$response = $apiClient->post('/produtos', ['nome' => 'Produto A', 'preco' => 100]);

put(path, data)

对指定路径执行带有提供数据的PUT请求。

  • path (string): API请求的路径。
  • data (array): 要在请求中发送的数据。示例
$response = $apiClient->put('/produtos/1', ['preco' => 120]);

delete(path)

对指定路径执行DELETE请求。

  • path (string): API请求的路径。示例
$response = $apiClient->delete('/produtos/1');

使用示例

以下是一个展示如何使用此库的代码示例

<?php

require_once __DIR__ . '/vendor/autoload.php';

use API\Loader\APIClient;
use API\Exceptions\APIException;

// Configuração da API
$apiEndpoint = 'https://{api_address}/{version}';
$apiKey = 'SUA_API_KEY';
$apiSecretKey = 'SUA_SECRET_API_KEY';

// Criação do cliente da API
$apiClient = new APIClient($apiEndpoint);
$apiClient->setApiKey($apiKey, 'nomear_ApiKey');
$apiClient->setSecretApiKey($apiSecretKey, 'nomear_SecretApiKey');

try {
    // Leitura de dados
    $response = $apiClient->get('/produtos', ['categoria' => 'eletrônicos']);
    var_dump($response);

    // Inserção de dados
    $data = [
        'nome' => 'Produto A',
        'preco' => 100,
    ];
    $response = $apiClient->post('/produtos', $data);
    var_dump($response);

    // Edição de dados
    $productId = 1;
    $data = [
        'preco' => 120,
    ];
    $response = $apiClient->put('/produtos/' . $productId, $data);
    var_dump($response);

    // Remoção de dados
    $productId = 1;
    $response = $apiClient->delete('/produtos/' . $productId);
    var_dump($response);

} catch (APIException $e) {
    echo 'Erro na requisição: ' . $e->getMessage();
}

请记住,将 {api_address} 替换为实际的API地址,将 {version} 替换为您使用的API特定版本。另外,将 SUA_API_KEY 和 SUA_SECRET_API_KEY 替换为您有效的访问密钥。

贡献

欢迎贡献!如果您想为 PedroQuezado Api-Loader 贡献,请随意打开一个issue或提交一个pull request。我们感谢您的反馈和贡献,以使本项目更加完善。

许可协议 本项目采用MIT许可证。