TomEE Plume 7.0.2 に問題があります。
私はそのようにフィルターを作成しました:
package com.gfp.rest.providers;
import java.io.IOException;
import javax.annotation.Priority;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.container.PreMatching;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.Provider;
@PreMatching
@Provider
@Priority(value = 1)
public class AuthenticationFilter implements ContainerRequestFilter
{
public AuthenticationFilter()
{
System.out.println("AuthenticationFilter.AuthenticationFilter()");
}
@Override
public void filter(ContainerRequestContext requestContext) throws IOException
{
System.out.println("AuthenticationFilter.filter()");
String token = requestContext.getHeaderString("token");
ResponseBuilder responseBuilder = null;
Response response = null;
// check if token is empty
if (token.isEmpty()) {
responseBuilder = Response.serverError();
response = responseBuilder.status(Status.UNAUTHORIZED).build();
requestContext.abortWith(response);
}
}
}
これが私の残りのアプリケーションです:
package com.gfp.rest;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("api/v1")
public class RestApplication extends Application
{
}
問題は次のとおりです。フィルターが呼び出されないようです。多くのドキュメントと他の多くの投稿を読みましたが、解決策が見つかりません。私が見逃した特別なものはありますか?
どうもありがとう !