导入类型的必需值未显示在“示例值”列表中

时间:2018-07-19 21:06:43

标签: swagger symfony4 api-platform.com

我想知道我为避免Swagger在示例值列表中不公开类型Misd\PhoneNumberBundle\Doctrine\DBAL\Types\PhoneNumberType的公共对象值而忽略了什么?尽管有另一个公共对象值,但在发布对象时的示例值如下:

The Swagger interface showing example values

[
  {
    "username": "string",
    "password": "string",
    "id": 0
  }
]

我可以手动添加该字段,并且一切正常(该值会被发布),但是由于文档中未列出所需的值,因此这不是理想的选择。

  /**
   * @AssertPhoneNumber(defaultRegion="US", message="Please specify a valid mobile phone number", type="mobile")
   * @Assert\NotBlank
   * @ORM\Column(name="phone_number", type="phone_number", unique=true)
   */
  public $phoneNumber;

我想念什么?希望对此有所提示,谢谢。

1 个答案:

答案 0 :(得分:0)

将ApiProperty指定为注释解决了我的问题。只需use ApiPlatform\Core\Annotation\ApiProperty并注释电话号码属性,如下所示:

  /**
   * @ApiProperty(
   *     attributes={
   *         "swagger_context"={
   *             "type"="string"
   *         }
   *     }
   * )
   * @AssertPhoneNumber(defaultRegion="US", message="Please specify a valid mobile phone number", type="mobile")
   * @Assert\NotBlank
   * @ORM\Column(name="phone_number", type="phone_number", unique=true)
   */
  public $phoneNumber;