我有一个看起来像/myController/myAction/id
.
我如何隐藏该 URL 中的 id,使其看起来像:/myController/myAction/username
并且仍然在控制器中接收 id
我有一个看起来像/myController/myAction/id
.
我如何隐藏该 URL 中的 id,使其看起来像:/myController/myAction/username
并且仍然在控制器中接收 id
如果您实际上没有以任何其他方式发送 Id 并且仅发送用户名并且可以通过用户名获取用户并且仍然需要在控制器中有 user.id 。正如@Mr.Cat 在@Alidad 的给定链接中提到的那样:
"/myController/myAction/$username"(controller: "myController",action: "myAction")
然后添加过滤器:
class userFilters {
def filters = {
addId(controller: 'myController', action: 'myAction') {
before = {
if (params && params.username) {
def u = User.findByUsername(params.username)
params.id = u.id
}
}
}
}
}