#php #symfony #api-platform.com
Вопрос:
У меня есть объект и DTO, которые я хотел бы использовать в запросах на публикацию. Вот мои два занятия.
<?php
declare(strict_types=1);
namespace AppEntity;
use ApiPlatformCoreAnnotationApiResource;
use AppDtoTestPost;
/**
* @ApiResource(
* collectionOperations={
* "post"={
* "input"=TestPost::class
* }
* },
* itemOperations={}
* )
*/
final class Test
{
public string $foo;
public string $bar;
}
<?php
declare(strict_types=1);
namespace AppDto;
final class TestPost
{
/**
* @var string
*/
public string $xxx;
}
Я ожидал, что в документации Swagger будет показано поле «xxx». Вместо этого отображаются два поля «foo» и «bar» исходного объекта. Я что-то забыл?
Ответ №1:
Похоже, мне тоже нужно определить результат. Это работает, когда я добавляю ключ «вывод», например:
<?php
declare(strict_types=1);
namespace AppEntity;
use ApiPlatformCoreAnnotationApiResource;
use AppDtoTestPost;
/**
* @ApiResource(
* collectionOperations={
* "post"={
* "input"=TestPost::class,
* "output"=false
* }
* },
* itemOperations={}
* )
*/
final class Test
{
public string $foo;
public string $bar;
}