如何在我的api-platform应用程序中使用外部资源

时间:2018-06-08 12:58:24

标签: php rest api-platform.com

我有实现api-platform的应用程序。 此应用程序具有名为UserSnapshot的实体。

namespace App\Entity;

/**
 * Class UserSnapshot
 * @package App\Entity
 */
class UserSnapshot
{
    /**
     * @var integer
     */
    protected $id;

    /**
     * Position of user. Information only.
     * @var Position
     */
    protected $position;

我的位置实体处于不同的微服务中。我可以使用以下网址找到它:

http://127.0.0.1:8002/api/positions

这项微服务正在使用api-platform来提供数据; 现在我想在我的本地应用程序中使用此外部资源。如何将其实现到我的UserSnapshot端点?

如何在我的应用程序中创建Position端点?

1 个答案:

答案 0 :(得分:0)

您可以实施a custom DataProvider将请求转发给远程微服务。

在此数据提供程序中,您可能希望使用Guzzle执行HTTP查询,对本地实体中的JSON数据进行反序列化,然后让API Platform再次对其进行序列化。

如果要按原样返回检索到的JSON并且不需要解码然后重新编码JSON-LD,则可以使用custom action instead并跳过反序列化/重新序列化部分。