1

私はJAX-RSアプリケーションに取り組んでいます。以前は、Tomcat サーバーに WAR としてマウントし、次を使用して HTTP リクエスト メソッドを取得していました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メソッドを取得するためだけにこれが必要なので、それを行うための他の方法またはより正しい方法をいただければ幸いです。

4

1 に答える 1

2

解決策は、Grizzly 公式サイトのこのページで説明されているように、Grizzly の Request クラスを使用することでした。

https://grizzly.java.net/httpserverframework.html

サーブレット仕様で提供されるものと同様の抽象化: HttpHandler (サーブレット)、リクエスト (HttpServletRequest)、レスポンス (HttpServletResponse)。

于 2013-11-10T21:31:32.383 に答える