Я работаю над API-интерфейсом Jboss Resteasy для реализации сервисов REST на сервере Jboss. Я новичок в этой области. Может кто-то помочь мне здесь ...Как достичь через перехватчики Jboss Resteasy?
Существует метод службы отдыха с пользовательской аннотацией (VRestAuto), как показано ниже.
@POST
@Produces("text/json")
@Path("/qciimplinv")
@Interceptors(VRestInterceptor.class)
public String getInvSummary(@VRestAuto("EnterpriseId") String enterpriseId,String circuitType){
....
businessMethod(enterpriseId,circuitType);
....
}
@VRestAuto аннотация сообщите нам, что значение «enterpriseId» доступно в сеансе пользователя.
Пользователь передает тип схемы только как параметр POST в инструменте Rest Client. Необходимо в идеале прочитать enterpriseid из сеанса и вызвать службу Rest с этими двумя параметрами (enterpriseid, circuitType).
Для достижения указанной выше функциональности, реализуемый перехватчиков класса (VRestInterceptor), как показано ниже:
public class VRestInterceptor implemnets PreProcessInterceptor,AcceptedByMethod {
public boolean accept(Class declaring, Method method) {
for (Annotation[] annotations : method.getParameterAnnotations()) {
for (Annotation annotation : annotations) {
if(annotation.annotationType() == VRestAuto.class){
VRestAuto vRestAuto = (VRestAuto) annotation;
return vRestAuto.value().equals("EnterpriseId");
}
}
}
return false;
}
Override
public ServerResponse preProcess(HttpRequest request, ResourceMethod method)
throws Failure, WebApplicationException { ......}
}
Я был в состоянии проверить аннотацию VRestAuto в методе принимаю. Но в методе preProcess, как я могу вызвать метод REST с двумя параметрами (enterpriseid, circuitType)?
Если эти перехватчики не подходят, есть ли другие перехватчики, наиболее подходящие для этой функции?
Ваша помощь очень ценится.