davebrend/recruitis-api-project

v1.4.1 2024-06-18 19:01 UTC

This package is auto-updated.

Last update: 2024-09-18 19:34:22 UTC


README

欢迎使用 Recruitis API 项目!该项目设计为 composer 包,以便集成到 Symfony 项目中,提供与 Recruitis 平台交互的强大 API 客户端。以下是一份全面的指南,介绍如何设置、使用和扩展此包。

官方 API 文档

目录

安装

要安装 Recruitis API 包,请使用 Composer

composer require davidbrend/recruitis-api-project

这将把包添加到您的 Symfony 项目中,使其可用。

配置

安装后,通过设置必要的环境变量来配置包。这些通常包括 API 凭证和端点 URL。在您的 .env 文件中添加以下内容

RECRUITIS_API_TOKEN=your_api_token

services.yaml 文件中的定义

parameters:
    recruitis-api-token: '%env(RECRUITIS_API_TOKEN)%'

recruitis_api:
    api_token: '%recruitis-api-token%'

最后定义添加到 bundle.php 文件中

Davebrend\RecruitisApiProject\RecruitisApiProject::class => ['all' => true]

使用

以下是如何在您的 Symfony 项目中使用 Recruitis API 客户端的一个简单示例

use Davebrend\RecruitisApiProject\Clients\Query;
use Davebrend\RecruitisApiProject\Facades\JobFacade;
use GuzzleHttp\Exception\GuzzleException;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;

class HomepageController extends AbstractController
{
    #[Route('/', 'homepage')]
    public function homepage(JobFacade $jobFacade): Response
    {
        $query = new Query(); // query parameters same as API 
        $jobs = $jobFacade->getJobsByQuery($query);
        return $this->render('default/homepage.html.twig');
    }
}

目录结构

项目目录结构如下

  • src/
    • Base/: 包含基本类和实用工具。
    • Client/: 包含 API 客户端类。
    • Configs/: 设置客户端的配置类。
    • DI/: 与依赖注入相关的类。
    • Dtos/: 用于处理 API 数据的数据传输对象。
    • Enums/: 包中使用的枚举。
    • Facades/: 简化与客户端交互的包装。
    • Factories/: 初始化 .env 数据到包的工厂类。
    • Services/: 处理业务逻辑的服务类。
    • RecruitisApiProject.php: 项目的主体类。

测试

该项目使用 PHPUnit 进行测试。要运行测试,请使用以下命令

vendor/bin/phpunit

composer run run-tests

PHPUnit 的配置在 phpunit.xml 中提供,指定测试目录和覆盖率设置。