Symfony和API平台:用于CRUD操作的默认实现的自定义URL

时间:2020-05-30 07:53:17

标签: symfony api-platform.com

我正在尝试设置一个API。我想对GET请求使用CRUD操作的默认实现,并覆盖POST,PUT和DELETE的操作。这实际上已经非常好了。

但是我现在的问题是,我想更改默认实现的URL,使其适合我的自定义操作的URL。

我的代码如下所示:

@ApiResource(
    itemOperations={
        "get",
        "put"={
            "path"="/my/very/important/URL/{id}",
            "schemes"={"https"},
        }
    }
)

我现在也想通过/my/very/important/URL使GET操作可用,而无需实现GET操作。

1 个答案:

答案 0 :(得分:0)

我找到了一种实际可行的解决方法:在实体上添加路由前缀。

     * @ApiResource(
     *     routePrefix="/my/very/important/URL"
     * )

但是不幸的是,我仍然无法阻止API平台使用我的实体名称的复数形式作为URL。

如果我有实体发布,则API平台会使用URL /my/very/important/URL/publications公开我的API。我仍然不知道该如何解决。