我正在尝试为我根据这些问题开发的 REST API 创建一个过滤器Best Practice for REST token-based authentication with JAX-RS and Jersey。
问题是我调用过滤器的任何方法似乎都不起作用。
这些是我的课程:
安全.java
@NameBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface Secured {
}
Run Code Online (Sandbox Code Playgroud)
验证过滤器.java
@Secured
@Provider
@Priority(Priorities.AUTHENTICATION)
public class AuthenticationFilter implements ContainerRequestFilter{
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
// Get the HTTP Authorization header from the request
String authorizationHeader =
requestContext.getHeaderString(HttpHeaders.AUTHORIZATION);
// Check if the HTTP Authorization header is present and formatted correctly
if (authorizationHeader == null || !authorizationHeader.startsWith("Bearer ")) {
throw new NotAuthorizedException("Authorization …Run Code Online (Sandbox Code Playgroud) 我是反应式编程的新手。我看到可以压缩两个单声道以生成结果:
Mono<Info> info = Mono.just(id).map(this::getInfo).subscribeOn(Schedulers.parallel());
Mono<List<Detail>> detail= Mono.just(petitionRequest).map(this.service::getDetails)
.subscribeOn(Schedulers.parallel());
Flux<Generated> flux = Flux.zip(detail, info, (p, c) -> {
Generated o = Generated.builder().info(c).detail(p).build();
return o;
});
Run Code Online (Sandbox Code Playgroud)
据我所知,这会并行化这两个调用并生成对象 Generated 当我调用 flux.blockFirst()
如何将另一个单声道合并到现有的两个单声道以生成结果?Flux.zip 只接受两个单声道。
提前致谢。