У меня есть приложение, которое реализует 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?
Как я могу создать конечную точку положения в моем приложении?
Вы можете реализовать пользовательский DataProvider направить запрос в удаленный микросервис.
В этом поставщике данных вы, вероятно, захотите выполнить HTTP-запрос с помощью Guzzle, десериализовать данные JSON в вашей локальной сущности и позволить API Platform снова сериализовать их.
Если вы хотите вернуть полученный JSON как есть и не нужно декодировать, а затем перекодировать JSON-LD, вы можете использовать пользовательское действие вместо и пропустите часть десериализации / повторной сериализации.
Других решений пока нет …