我正在研究JAX-RS应用程序。之前,我把它作为一个安装在Tomcat服务器上的WAR,我使用: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-Method所以,任何其他或更正确的方法来做它是值得赞赏的。
答案 0 :(得分:1)
解决方案是在Grizzly官方网站上使用Grizzly的Request类,如本页所述:
https://grizzly.java.net/httpserverframework.html
类似于Servlet规范提供的抽象:HttpHandler(Servlet),Request(HttpServletRequest),Response(HttpServletResponse)。