我想在自定义操作中使用自定义标识符,而不使用这样的{id}。
@ApiResource(
itemOperations={
"FORGOT-PASSWORD"={
"method"="PUT",
"path"="/users/{forgotPasswordToken}/forgot-password",
"controller"="App\Controller\ForgotPasswordController",
"defaults"={"identifiedBy"="forgotPasswordToken"}
}
}
)
但是我仍然遇到与“无效的标识符值或配置”相同的错误。
有什么问题吗?
答案 0 :(得分:0)
这是因为Api平台具有一个Read侦听器,该侦听器会尝试检索到您的item操作的实体链接。
对于您的自定义操作,您的路径中没有诸如{id}
之类的标识符来标识您的资源,因此解决方案是使用以下方法停用读取监听器:
@ApiResource(
itemOperations={
"FORGOT-PASSWORD"={
"method"="PUT",
"path"="/users/{forgotPasswordToken}/forgot-password",
"controller"="App\Controller\ForgotPasswordController",
"defaults"={"identifiedBy"="forgotPasswordToken"},
"read"=false
}
}
)