6.3. JAX-RS 资源不再启用上下文和依赖项注入
为了提供更好的运行时并尽可能利用底层堆栈,使用 javax.ws.rs.core.Context
注解的所有上下文数据注入点都会被移除。预期的性能改进涉及在请求生命周期内多次创建代理实例,并可在运行时减少反映代码的数量。
如果您需要访问当前请求和响应对象,您现在可以直接从 KeycloakSession
获取其实例:
@Context org.jboss.resteasy.spi.HttpRequest request; @Context org.jboss.resteasy.spi.HttpResponse response;
被替换:
KeycloakSession session = // obtain the session, which is usually available when creating a custom provider from a factory KeycloakContext context = session.getContext(); HttpRequest request = context.getHttpRequest(); HttpResponse response = context.getHttpResponse();
可以通过 KeycloakContext
实例从运行时获取其他上下文数据:
KeycloakSession session = // obtain the session KeycloakContext context = session.getContext(); MyContextualObject myContextualObject = context.getContextObject(MyContextualObject.class);