У меня есть сущность «Пользователь» на платформе API, и я создал специальную операцию для возврата информации о вошедшем в систему пользователе с использованием поставщика состояний.
Тег ApiResource:
#[ApiResource(
operations: [
new Get(
uriTemplate: '/user',
normalizationContext: ['groups' => ['user:read']],
security: self::SECURITY_GET,
provider: UserStateProvider::class
)
]
UserStateProvider:
class UserStateProvider implements ProviderInterface
{
public function __construct(
private readonly Security $security,
) {}
public function provide(Operation $operation, array $uriVariables = [], array $context = []): object|array|null
{
return $this->security->getUser();
}
}
Проблема: Эта конечная точка возвращает IRI без идентификатора, который выглядит следующим образом:
"@context": "/api/contexts/User",
"@id": "/api/user",
"@type": "User",
Я попытался получить пользователя из репозитория в UserStateProvider, но это не решило проблему:
$user = $this->security->getUser();
return $user ? $this->userRepository->find($user->getId()) : null;
Подробнее здесь: https://stackoverflow.com/questions/791 ... e-provider
ApiPlatform генерирует неверный IRI (без идентификатора) при использовании поставщика состояний. ⇐ Php
Кемеровские программисты php общаются здесь
1730714077
Anonymous
У меня есть сущность «Пользователь» на платформе API, и я создал специальную операцию для возврата информации о вошедшем в систему пользователе с использованием поставщика состояний.
Тег ApiResource:
#[ApiResource(
operations: [
new Get(
uriTemplate: '/user',
normalizationContext: ['groups' => ['user:read']],
security: self::SECURITY_GET,
provider: UserStateProvider::class
)
]
UserStateProvider:
class UserStateProvider implements ProviderInterface
{
public function __construct(
private readonly Security $security,
) {}
public function provide(Operation $operation, array $uriVariables = [], array $context = []): object|array|null
{
return $this->security->getUser();
}
}
Проблема: [b]Эта конечная точка возвращает IRI без идентификатора, который выглядит следующим образом[/b]:
"@context": "/api/contexts/User",
"@id": "/api/user",
"@type": "User",
Я попытался получить пользователя из репозитория в UserStateProvider, но это не решило проблему:
$user = $this->security->getUser();
return $user ? $this->userRepository->find($user->getId()) : null;
Подробнее здесь: [url]https://stackoverflow.com/questions/79154946/apiplatform-generates-invalid-iri-without-id-when-using-state-provider[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия