如何在 API 平台中更改基础 URL

How to change base URL in API Platform

我有路线 /books , 我想改变它,例如 /api/v1/books 所以我在 api_platform.yaml 中添加了以下

prefix: api/v1/

现在它工作正常,我的端点在 /api/v1/books 可用,但我的前端有一些问题,因为管理面板 /admin 和 swagger /docs 不起作用,它向我发送 404 错误。(值得注意的是 /docs.json 上没有 swagger 的原始文档)我该如何解决这个问题?只能通过配置球童?有什么配置平台的方法吗?

根据 API 平台可用的文档 here,有两种方法可以为您的路由设置前缀。首先,删除你的 prefix: api/v1/ 因为它只设置了一个全局前缀,这不是你想要的。

方法 1 - 通过 php:

在您的图书实体中添加 #[ApiResource(routePrefix: '/v1')] class:

#[ApiResource(routePrefix: '/v1')]
class Book
{
    //...
}

方法 2 - 通过 yaml:

创建配置文件 /config/api_platform/resources.yaml 并添加:

App\Entity\Book:
    attributes:
        route_prefix: /v1