1

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
{
}

問題は次のとおりです。フィルターが呼び出されないようです。多くのドキュメントと他の多くの投稿を読みましたが、解決策が見つかりません。私が見逃した特別なものはありますか?

どうもありがとう !

4

2 に答える 2