Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services Grails:按标识以外的其他属性查找域_Web Services_Rest_Grails_Gorm - Fatal编程技术网

Web services Grails:按标识以外的其他属性查找域

Web services Grails:按标识以外的其他属性查找域,web-services,rest,grails,gorm,Web Services,Rest,Grails,Gorm,我将Grails2.4.3用于RESTful后端,并生成JSON中返回的外部ID,但对生成的ID保密。在GET请求上,例如: /users/123456 我有这样的展示方法: def show(User user) { respond user } URL映射只是: "/users"(resources:"user") 是否有一种方法可以告诉用户域通过User.findByExternalId而不是id进行查找并保留相同的代码?您可以使用:覆盖queryForResource(和删除s

我将Grails2.4.3用于RESTful后端,并生成JSON中返回的外部ID,但对生成的ID保密。在GET请求上,例如:

/users/123456
我有这样的展示方法:

def show(User user) {
  respond user
}
URL映射只是:

"/users"(resources:"user")

是否有一种方法可以告诉用户域通过
User.findByExternalId
而不是id进行查找并保留相同的代码?

您可以使用:覆盖
queryForResource
(和删除show方法),只需调用
findByExternalId
并删除参数,创建代理命令对象,该对象将在后台充当获取的用户类并修改参数。我认为真正的“get(id)”是在
GrailsWebDataBinder#getPersistentInstance(类类型,id)中调用的“
-但我无法在bean定义中重写它。我也无法通过使用
DataBindingListenerAdapter
截获进一步的执行,这将在绑定前
返回false,并在通过外部id正确获取后调用injected
simpleDataBinder.doBind