Resteasy Docsで説明されているように、組み込みの Netty インスタンスを使用して、Resteasy でリソースをテストしようとしています。
パスパラメーターとクエリパラメーターの注入は魅力のように機能しますが、注入するリソースを次のようなコンテキストからテストしようHttpServletRequest
としました:HttpServletResponse
@GET
@Path("/")
public void example(@Context HttpServletResponse response,
@Context HttpServletRequest request) { ... }
Resteasy はHttpServletRequest
コンテキスト内で見つけることができず、次の例外をスローします。
5105 [r #1] DEB o.j.resteasy.core.SynchronousDispatcher - PathInfo: /auth
5201 [r #1] ERR c.s.f.v.s.r.e.ApplicationExceptionMapper - Unhandled application exception: Unable to find contextual data of type: javax.servlet.http.HttpServletRequest
org.jboss.resteasy.spi.LoggableFailure: Unable to find contextual data of type: javax.servlet.http.HttpServletRequest
RESTEasy Mock vs. Exception Mapper vs. Contextで提案されているように、リクエストとレスポンスのモック バージョンをコンテキストに配置しようとしましたが、コンテキスト データが ThreadLocal であり、Netty がリクエストごとに新しいスレッドを生成するため、どちらも機能しません。
これを解決する方法についてのアイデアはありますか?