如何在 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
我有路线
/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