import app.UserService class UrlMappings { UserService userService static mappings = { ctx -> "/users/$id/records/$school/detail" { controller = 'user' action = 'recordsDetail' constraints { id matches: /\d+/ school validator: { school, obj -> school in ctx.userService.getUserSchools(id) } } } } }
我需要在学校参数中实现自定义验证。为了做到这一点,我需要打电话userService.getUserSchools用户服务(id)方法。
当前尝试给予 java.lang.NullPointerException 带着信息 Cannot get property 'id' on null object 我需要进入 id 学校自定义验证程序中的参数。我试过了 身份证件 或 obj.id 但没有成功。
java.lang.NullPointerException
Cannot get property 'id' on null object
id
身份证件
obj.id
谢谢你的建议
obj 在这种情况下是 RegexUrlMapping 不允许访问的 id 参数,但可以使用 org.springframework.web.context.request.RequestContextHolder
obj
RegexUrlMapping
org.springframework.web.context.request.RequestContextHolder
RequestContextHolder.requestAttributes.params.id
RequestContextHolder.requestAttributes.id