我无法从grails服务获得cookie值, 我正在使用这样的代码
g.cookie(name: 'cookieName')
我遇到错误
Unable to resolve g
我该如何解决
答案 0 :(得分:1)
由于某种原因,grails的大多数Controller实体没有暴露给服务:它不属于该服务。不能在服务中使用message(code: ..)
的相同原因。同样,只要存在请求,就存在cookie,而这不是您可以在服务中拥有的。例如,某些后台作业可能会调用您的服务。当应用程序启动时,您的BootStrap可能会拨打服务电话。它根本不在http层上。
您可以通过方法调用将request
(HttpServletRequest)传递给服务,然后在服务中使用getCookies()
或类似的方法,或者可以在Controller中完成所有与HTTP相关的工作。
答案 1 :(得分:0)
您可以在服务中收到当前请求:WebUtils.retrieveGrailsWebRequest().getCurrentRequest()
并且字段cookies
为数组