无法在应用程序配置文件中声明javaExceptionMapper

时间:2018-10-07 14:09:55

标签: java rest jax-rs

我正在使用JAX-RS,并且在发生错误的情况下,我为JSOn错误代码制作了两个自定义ExceptionMapper:

package Exception;

import Facade.ErrorMessage;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;

@Provider
//dette fungere ligesom et hierki, så først, kommer de laveste i hierkiet, og denne bliver kaldt, hvis der ikke er andre exceptions, der er fundet inden
public class GenericExceptionMapper implements ExceptionMapper<Throwable> {



    @Override
    public Response toResponse(Throwable exception) {
        ErrorMessage errorMessage = new ErrorMessage(exception.getMessage(),
                500,
                "This message has been displayed, because the data was inavalid, please use another parameter as data");
        return Response.status(Status.NOT_FOUND).entity(errorMessage).build();
    }
    }

在我的applicationCofing中,出现错误cannot find symbol 对于我的两个异常映射器。

    private void addRestResourceClasses(Set<Class<?>> resources) {
    resources.add(Exception.DataNotFoundExceptionMapper.class); // cannot find symbol for DataNotFoundExceptionMapper.class
    resources.add(Exception.GenericExceptionMapper.class); // cannot find symbol
    resources.add(Rest.AddressResource.class);
    resources.add(Rest.CityinfoResource.class);
    resources.add(Rest.HobbyResource.class);
    resources.add(Rest.PersonResource.class);
    resources.add(Rest.PhoneResource.class);
}
}

我不应该在我的剩余配置中声明它们,还是应该解决这个问题?

编辑:当我将映射器从我的异常包移到我的Rest包中时,问题停止了,但是我想将它们放在单独的文件夹中,以获得更好的结构。

0 个答案:

没有答案