如何在Apache ISIS DomainService上访问请求标头或HTTPServletRequest?

时间:2016-05-17 15:45:26

标签: java apache servlets java-ee isis

我有一个带有几个Objects和RestfulServices的apache ISIS webapplication。 出于记录目的,我需要一些请求本身的信息,而不仅仅是应该发送的参数。 如何访问这些请求标头信息?

我尝试通过HttpServletRequest对象获取RequestCycle。这是代码行:

HttpServletRequest req = (HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest();

当我通过 apache wicket viewer 创建对象时,我可以访问HttpServlerRequest对象以及请求的所有信息。但是,当我通过其余服务发送请求时,当我尝试访问NullpointerException时,我会收到RequestCycle

您是否知道如何访问此域服务中的请求标头?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

当您使用Restful服务请求时,根本没有Wicket RequestCycle,因为WicketFilter不用于Restful请求。

我无法解决剩下的问题。我没有这方面的经验。

答案 1 :(得分:2)

如果您只需要接受标头,则可以使用AcceptHeaderService

如果您需要访问其他任何内容,那么您将不得不自己动手。但这样做应该很容易;在"from foo import *"中查看前面提到的AcceptHeaderService implementation以及registered的位置;您可以在web.xml中提供RestfulObjectsApplication的自定义子类。