我有一个带有几个Objects和RestfulServices的apache ISIS webapplication。 出于记录目的,我需要一些请求本身的信息,而不仅仅是应该发送的参数。 如何访问这些请求标头信息?
我尝试通过HttpServletRequest
对象获取RequestCycle
。这是代码行:
HttpServletRequest req = (HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest();
当我通过 apache wicket viewer 创建对象时,我可以访问HttpServlerRequest
对象以及请求的所有信息。但是,当我通过其余服务发送请求时,当我尝试访问NullpointerException
时,我会收到RequestCycle
。
您是否知道如何访问此域服务中的请求标头?
感谢您的帮助。
答案 0 :(得分:2)
当您使用Restful服务请求时,根本没有Wicket RequestCycle,因为WicketFilter不用于Restful请求。
我无法解决剩下的问题。我没有这方面的经验。
答案 1 :(得分:2)
如果您只需要接受标头,则可以使用AcceptHeaderService。
如果您需要访问其他任何内容,那么您将不得不自己动手。但这样做应该很容易;在"from foo import *"
中查看前面提到的AcceptHeaderService
implementation以及registered的位置;您可以在web.xml中提供RestfulObjectsApplication
的自定义子类。