В документации говорится, что есть файл api/config/api_platform/resources.yaml, в котором я могу отображать объекты с помощью yml. Но ни в дистрибутиве, ни при установке API-платформы в виде пакета я не могу найти этот файл. Создание каталога и файла вручную не помогает.




В контексте проекта Symfony 4 файл может находиться по адресу config/api_platform/resources.yaml. Если его не существует, просто создайте его.
Вы также можете использовать несколько файлов для определения ваших сопоставлений:
config/api_platform/resources/entity1.yamlconfig/api_platform/resources/entity2.yamlЯ предлагаю использовать отдельные файлы, так как их проще поддерживать, чем один большой файл.
Вам нужно будет настроить эти пути в файле config/packages/api_platform.yaml:
api_platform:
mapping:
paths: ['%kernel.project_dir%/config/api_platform/resources']
См. Полный пример в Нек ответ.
Я нахожу документацию немного запутанной по этому поводу, потому что в проекте Symfony нет каталога api/ в корне проекта.
Может быть, вы знаете, почему я не могу заставить запрос POST / PUT переопределить тот же URI, что и у субресурса?
Хорошо, я обнаружил, что сейчас это недоступно.
Извините, но я могу помочь вам насчет субресурсов.
Ты можешь? Или не можешь? =) Насколько я понимаю, подресурсы теперь доступны только для чтения, и для их создания по-разному каждая конечная точка должна обслуживаться через класс Custom Operation, как пример в документации.
Да, извините за опечатку, но я никогда не использовал субресурсы, поэтому не могу вам помочь. Но не стесняйтесь добавить еще один вопрос по этой проблеме!
@NikitaPimoshenko Я обновил свой ответ. Вам может потребоваться изменить значение
paths, в зависимости от того, куда вы помещаете файлы конфигурации.