如何在grails2.2.5服务中访问cookie

时间:2018-08-06 12:40:30

标签: grails cookies

我无法从grails服务获得cookie值, 我正在使用这样的代码

g.cookie(name: 'cookieName')

我遇到错误

Unable to resolve g

我该如何解决

2 个答案:

答案 0 :(得分:1)

由于某种原因,grails的大多数Controller实体没有暴露给服务:它不属于该服务。不能在服务中使用message(code: ..)的相同原因。同样,只要存在请求,就存在cookie,而这不是您可以在服务中拥有的。例如,某些后台作业可能会调用您的服务。当应用程序启动时,您的BootStrap可能会拨打服务电话。它根本不在http层上。

您可以通过方法调用将request(HttpServletRequest)传递给服务,然后在服务中使用getCookies()或类似的方法,或者可以在Controller中完成所有与HTTP相关的工作。

答案 1 :(得分:0)

您可以在服务中收到当前请求:WebUtils.retrieveGrailsWebRequest().getCurrentRequest() 并且字段cookies为数组