Как я могу использовать внешние ресурсы в моем приложении api-платформы

У меня есть приложение, которое реализует API-платформу.
Это приложение имеет сущность с именем UserSnapshot.

namespace App\Entity;

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

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

Моя позиция находится в другом микро-сервисе. Я могу достичь этого, используя ниже URL:

http://127.0.0.1:8002/api/positions

Этот микро сервис использует api-платформу для обслуживания данных;
Теперь я хотел бы использовать этот внешний ресурс в своем локальном приложении. Как я могу реализовать это в моей конечной точке UserSnapshot?

Как я могу создать конечную точку положения в моем приложении?

0

Решение

Вы можете реализовать пользовательский DataProvider направить запрос в удаленный микросервис.

В этом поставщике данных вы, вероятно, захотите выполнить HTTP-запрос с помощью Guzzle, десериализовать данные JSON в вашей локальной сущности и позволить API Platform снова сериализовать их.

Если вы хотите вернуть полученный JSON как есть и не нужно декодировать, а затем перекодировать JSON-LD, вы можете использовать пользовательское действие вместо и пропустите часть десериализации / повторной сериализации.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector