Я пытаюсь получить имя "best_user"
аннотации @WebParam по параметру метода User user
в методе интерфейса. Потому что это интерфейс, следующий код не дает мне доступ к аннотации:@WebParam по параметру интерфейса - как получить имя?
String methodName = "doSomething";
Class<?> clazz = Class.forName(packageName + "." + "UserService");
Method serviceMethod = null;
for (Method method: clazz.getMethods())
{
if (method.getName().equals(methodName))
{
serviceMethod = method;
break;
}
}
Class<?>[] parameterTypes = serviceMethod.getParameterTypes();
WebParam webParam = parameterTypes[0].getAnnotation(WebParam.class); //webParam is null
String parameterName = webParam.name();
Однако структура веб-сервис может получить эти данные. Как я могу это сделать?
Интерфейс:
@WebService(name = "UserService", targetNamespace = "my.targetNamespace")
public interface UserService {
@WebMethod
public String doSomething
(
@WebParam(name = "best_user")
User user
)
}
показать мне, как вы получите 'метод' метод? Если вы возьмете это из класса, аннотации не будет. Вам нужно будет получить его из интерфейса. –
@ R4J Обновлен мой вопрос. – rapt