0
我有一个资源类作为访问PostProcessInterceptor中的资源类字段?
@Path("secure")
@RequestScoped
// @SecurityChecked
public class SecureResource {
@Context
private HttpServletRequest request;
@GET
@SecurityChecked
public Response getUser() {
return Response.ok("authenticated successfully!").build();
}
@POST
public Response login(@FormParam("user") @Nonnull final String user,
@FormParam("password") @Nonnull final String password) {
final String authToken = TokenUtils.createToken(user);
return Response.ok().header(AUTH_TOKEN, authToken).build();
}
@PUT
public Response updateUser() {
return Response.ok("updating user").build();
}
}
,我有一个PostProcessInterceptor
,我想访问头类的request
@Interceptor
@Provider
@ServerInterceptor
@SecurityChecked
public class SecurityCheckInterceptor implements PostProcessInterceptor {
private static final Pattern PATTERN = Pattern.compile(":");
private static final Logger LOGGER = LoggerFactory.getLogger(SecurityCheckInterceptor.class);
@Override
public void postProcess(final ServerResponse response) {
// access the Resource class request object
}
}
我不知道我怎么可以在这里访问请求对象
请帮
谢谢
是的,因为请求有'Headers',我需要在发送响应之前访问这些来创建一个新的Header。这有意义吗? – daydreamer
我不熟悉这个api。也许看看http://www.mastertheboss.com/resteasy/resteasy-interceptors-tutorial/page-2,其中respone对象是在preProcess处理程序中手动创建的 - 新的头文件