Symfony 如何在api平台上从其他api自动获取数据并保存到数据库中

Symfony 如何在api平台上从其他api自动获取数据并保存到数据库中,symfony,symfony4,api-platform.com,Symfony,Symfony4,Api Platform.com,我是php初学者,但在我的项目中需要从JiraAPI获取数据。我使用的是api平台,我希望systeme能够在指定的时间段后自动从jira api获取数据并将其保存到Entity中。我希望每个人都能帮助我。我的实体在这里: /** * @ApiResource() * @ORM\Entity(repositoryClass="App\Repository\JiraRepository") */ class Jira { /** * @ORM\Id() * @OR

我是php初学者,但在我的项目中需要从JiraAPI获取数据。我使用的是api平台,我希望systeme能够在指定的时间段后自动从jira api获取数据并将其保存到Entity中。我希望每个人都能帮助我。我的实体在这里:

/**
 * @ApiResource()
 * @ORM\Entity(repositoryClass="App\Repository\JiraRepository")
 */
class Jira
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $key;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $name;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $projectTypeKey;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $avartarUrl;

我想自动保存到那个里。如何在symfony中创建自动操作?帮助我。非常感谢

很难说什么,因为对您的项目以及您在项目中使用的体系结构和最佳实践的类型知之甚少。我可以帮助您集思广益,找出实现这一目标所需的方法:

  • 首先,您需要有一个控制台命令,该命令将通过cron任务启动(,该命令应回答您指定的时间段)

  • 在您的命令中,您需要启动一个服务,例如:ApiService…,在那里您必须编写一个逻辑,用于获取jira数据(这里有很多选项,提供的库、curl请求等)。(我建议将端点写入.env文件,因为每次获取数据之前都需要进行身份验证。

  • 在获得指定的数据后,应该循环数据,然后调用工厂并传递创建实体所需的数据,将实体恢复到服务中,然后持久化并刷新到数据库中


希望有帮助。

我能理解您的想法,在我的问题中,我使用lesstif/php jira rest client从jira api获取数据项目,以及如何创建cron任务以将这些数据保存到我的数据库中?我想要一个解决这个问题的例子,我可以开发更多的函数。你能告诉我更多关于cron任务的信息吗?