繁体   English   中英

Hateoas PHP库中的组如何工作?

[英]How to work with groups in Hateoas PHP library?

我在Symfony中使用Hateoas库。

我有一个Doctrine实体,想限制某些嵌入式内容。 我看到Hateoas排除了组,但是我不知道如何配置它们,并且在lib文档中也没有找到任何相关信息。 任何帮助,将不胜感激。

如果您在实体中定义序列化程序组

class Client
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var string
     *
     * @JMS\Expose
     * @JMS\Groups({"default", "full"})
     */
    private $firstName;

    ...

}

您还应该在HATEOAS批注(或您使用的配置系统)中定义它

 * @Hateoas\Relation("_self",
 *      href = @Hateoas\Route("api_clients_get_client", parameters = {"id" = "expr(object.getId())"}, absolute = true),
 *      exclusion = @Hateoas\Exclusion(groups={"default","full"})
 * )

这是有道理的,因为如果您不公开属性,则不想公开链接。

即您有两个组“公共”和“管理员”

在管理员中,您可能会将隐藏的内容公开给您的api公开调用。 但是,如果您无法控制要在呼叫中公开的HATEOAS链接,则可能会在“公开”呼叫中公开不需要的链接

本节涵盖了排除: https : //github.com/willdurand/Hateoas#exclusion 您可能应该改写您的问题,以便我们可以更好地为您提供帮助。

我个人花了很多时间编写此文档,很高兴知道缺少的内容;-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM