我正在开发一个jax-rs应用程序。以前,我将它作为一个war安装在tomcat服务器上,并使用:javax.servlet.http.HttpServletRequest.getMethod()获取htttp请求方法。
但是,现在我正在应用程序上使用一个嵌入式grizzly服务器,在启动时发现以下错误:

Missing dependency for constructor public wci.api.resource.AudioSessionResource(javax.servlet.http.HttpServletRequest) at parameter index 0

我的所有资源都扩展了一个MyHappyCustomResource类,该类具有一个构造函数,该构造函数接收资源构造函数通过注入提供的HttpServletRequest
这是一个资源构造函数的示例,super调用来自MyHappyCustomResource
import javax.servlet.http.HttpServletRequest;

public AudioSessionResource(@Context HttpServletRequest request) {
    super(request);
    this.dao = new AudioSessionDao(this.sessionManager.getCurrentSession());
}

现在我需要这个只是为了得到http方法,所以,任何其他或更正确的方法来做它是值得赞赏的。

最佳答案

解决方案是使用grizzly的请求类,正如grizzly官方网站上的这一页所说:
https://grizzly.java.net/httpserverframework.html
类似于servlet规范提供的抽象:httphandler(servlet)、request(httpservletrequest)、response(httpservletresponse)。

关于java - 如何在内置Grizzly的Jersey应用程序上获取HTTP请求方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19885411/

10-11 06:13