2

我有一个带有多个对象和 RestfulServices 的 apache ISIS web 应用程序。出于日志记录的目的,我需要请求本身的一些信息,而不仅仅是应该发送的参数。如何访问这些请求标头信息?

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

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

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

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

谢谢你的帮助。

4

2 回答 2

2

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

我对剩下的问题无能为力。我没有这方面的经验。

于 2016-05-17T17:25:23.277 回答
2

如果您只需要 Accept 标头,那么您可以使用AcceptHeaderService

如果您需要访问其他任何东西,那么您将不得不自己动手。但是这样做应该很容易;看看上述的实现AcceptHeaderService以及它的注册位置RestfulObjectsApplication;您可以RestfulObjectsApplicationweb.xml中提供自定义子类。

于 2016-05-17T18:21:15.313 回答