[英]How to inject object with HK2 in main method in a embedded Grizzly Jersey application
[英]How to get the HTTP request method on a Grizzly-embedded Jersey application?
我正在研究JAX-RS应用程序。 以前,我将它作为WAR挂载在Tomcat服务器上,并使用以下方法获取HTTTP请求方法: javax.servlet.http.HttpServletRequest.getMethod()
。
但是,现在我在应用程序上使用嵌入式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的Request类:
https://grizzly.java.net/httpserverframework.html
与Servlet规范提供的抽象类似:HttpHandler(Servlet),Request(HttpServletRequest),Response(HttpServletResponse)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.