Привет У меня есть веб-сервиса, который генерируется из buildServices в Liferay .. метод выглядит следующим образомКак получить HttpServletRequest в Liferay WebService
public User getUserTest(long userId) {
User u = null;
try {
Token token = OAuthFactoryUtil.createToken("sasa", "sdad");
} catch (OAuthException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
u = UserLocalServiceUtil.getUser(userId);
System.out.println("xx user " + u.getScreenName());
} catch (Exception e) {
System.out.println(" Exception ************* " + e.toString());
}
return u;
}
параметров в этом WS будет таким:
http://localhost:8080/demo-portlet/api/json?serviceClassName=com.sample.portlet.library.service.BookServiceUtil&serviceMethodName=getUserTest&userId=10195&serviceParameters=[userId]
имеющий userId
в качестве параметра ..
Как бы вы передать параметр, если вам нужно HttpServletRequest
.. мой мне ThOD будет выглядеть следующим образом
public User getUserTest(HttpServletRequest httpRequest) {
User u = null;
try {
String version = httpRequest.getHeader("X-PHM-APP-VERSION");
Token token = OAuthFactoryUtil.createToken("sasa", "sdad");
} catch (OAuthException e1) {
e1.printStackTrace();
}
try {
String authorization = httpRequest.getHeader("Authorization");
u = UserLocalServiceUtil.getUser(Long.valueOf(authorization));
System.out.println("authorization --> " + authorization);
System.out.println("xx user " + u.getScreenName());
} catch (Exception e) {
System.out.println(" Exception ************* " + e.toString());
}
return u;
}
мне нужно HttpServletRequest
, чтобы получить параметры из заголовка, вместо передачи через URL. Есть ли лучший способ получить параметры из заголовка? за вашу помощь
для получения httpServletRequest вам понадобится portletRequest, теперь как вы передадите portletRequest методу веб-сервиса, так что мы вернулись с того места, где мы начали: -). Также не означает ли, что веб-сервис должен быть агностическим языком программирования и предоставлять параметр как httpServletRequest, то есть запрашивать у потребителя отправку httpServletRequest, привязать его к Java и уничтожить самую цель? Я хотел бы знать, возможно ли это, поскольку я также изучаю WS и довольно новичок в этом. Спасибо –
Я только что показал способ извлечения параметра, можно вызвать веб-сервис, передав параметр String, просто способ извлечь параметр! –
@FelixChristy Как получить PortletRequest с помощью этого API? – thermz