REST API。如何为字段提供可用值

时间:2018-09-21 14:08:10

标签: json api json-ld api-platform.com hydra

我使用api-platform 用于REST API。我有实体用户:

class User implements UserInterface, \Serializable
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     * @Groups("read")
     */
    private $id;
    /**
    * @ORM\Column(type="integer", options={"default" = 1})
    * @Groups({"read", "write"})
    * @Assert\Choice(choices={1,2})
    * @Assert\Type("int")
    */

   private $gender = 1;
   /**
   * @ORM\ManyToOne(targetEntity="App\Entity\Company", cascade={"persist"})
   * @ORM\JoinColumn(name="company_id", referencedColumnName="id")
   * @Groups({"read", "write"})
   * @Assert\NotBlank()
   */
  private $companyId;
  ........

以及相关的公司实体。 我的公司ID和性别字段的文档:

{
      "@type":"hydra:SupportedProperty",
      "hydra:property":{
         "@id":"#User/companyId",
         "@type":"hydra:Link",
         "rdfs:label":"companyId",
         "domain":"#User",
         "owl:maxCardinality":1,
         "range":"#Company"
      },
      "hydra:title":"companyId",
      "hydra:required":true,
      "hydra:readable":true,
      "hydra:writable":true
   },
   {
      "@type":"hydra:SupportedProperty",
      "hydra:property":{
         "@id":"#User/gender",
         "@type":"rdf:Property",
         "rdfs:label":"gender",
         "domain":"#User",
         "range":"@id"
      },
      "hydra:title":"gender",
      "hydra:required":false,
      "hydra:readable":true,
      "hydra:writable":true
   }

对于管理面板,我使用admin component on ReactJS。对于公司而言,一切都很完美,在管理面板中,我可以看到与相关公司的联系。我希望性别字段选择相同。换句话说,我想在我的API方案中提供可用于此值的值。我该怎么做?

0 个答案:

没有答案