Как настроить контекст с помощью специального StateProviderPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как настроить контекст с помощью специального StateProvider

Сообщение Anonymous »


Чтобы объяснить мою проблему, я создал очень простой ApiResource, который использует собственный поставщик состояний.

#[ApiResource( типы: 'https://schema.org/UpdateAction', поставщик: TransitionStateProvider::класс, )] переход класса { #[ApiProperty( идентификатор: правда, типы: ['https://schema.org/identifier'], )] общественный int $id; } Мой поставщик штата:

Класс TransitionStateProvider реализует ProviderInterface { публичная функция обеспечить (операция $operation, массив $uriVariables = [], массив $context = []): объект|массив|null { $переход = новый переход(); $переход->id = 1; вернуть $переход; } } Когда я отправляю запрос на получение, @context, @id, @types устанавливаются не так, как хотелось бы. Я получил:

{ "@context": { "@vocab": "https://localhost/docs.jsonld#", "гидра": "http://www.w3.org/ns/hydra/core#" }, "@type": "Переход", "@id": "/.well-known/genid/66dae3d5fb3332ca13ee", "идентификатор": 1 } Что я хочу:

{ "@context": "/contexts/Transition", "@id": "/transitions/1", "@type": "https://schema.org/UpdateAction", "идентификатор": 1 } Он работает с другими моими ресурсами, но они связаны с объектом доктрины с помощью stateOptions. Этот ресурс Transition нет.

Я пытался настроить identifier:true в ApiProperty, я пытался поиграть с uriTemplate, urivariables и hydraContext безуспешно.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»