Как мне сделать пользовательский объект контекста, который можно добавить с помощью @Context? - PullRequest
0 голосов
/ 13 июня 2019

Я хочу иметь возможность сделать что-то вроде этого:

@GET
@Path("test")
public Response someMethod(@Context MyCustomContext myCustomContext) {
 ...
}

Я нашел этот старый пост о переполнении стека, в котором описываются различные способы сделать это здесь: Использование @Context, @Provider и ContextResolver в JAX-RS . Я реализовал верхний ответ (который не зависит от реализации) и заставил его работать, но он не сделал именно то, что я хочу. Вместо этого это выглядело так:

@GET
@Path("test")
public Response someMethod(@Context Providers providers) {
        ContextResolver<MyCustomContext> p = providers.getContextResolver(MyCustomContext.class, MediaType.WILDCARD_TYPE);
        MyCustomContext myCustomContext = p.getContext(null);
       ... 
}

На этом посту были и другие решения, но они зависели от реализации. В документации по quarkus я заметил, что здесь есть раздел о пользовательских контекстах, который можно найти здесь: https://quarkus.io/guides/cdi-reference#synthetic-beans,, но это характерно для расширений. У кого-нибудь есть идеи, как это сделать в проекте quarkus?

...