我正在使用Jersey Framework来开发我的Web服务。我有一个名为UserInfo的DTO对象,其中包含setter和getter。我在用户登录时最初设置此DTO值。如何将此特定于用户的DTO传递给Jersey服务类?
我已经尝试在MultivaluedMap和Form中设置它们但我运气不好。
这是我的代码:
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.add("queryTerm", "userdto");
Form f = new Form();
f.add("name", "1001D");
这就是我尝试检索数据的方式。
public class HaiService {
@GET
@Produces("application/json")
@Consumes("application/json")
public String sayPlainTextHello(@Context UriInfo ui) {
MultivaluedMap queryParams=ui.getQueryParameters();
Iterator it=queryParams.keySet().iterator();
String theKey=null;
String returnString="";
while(it.hasNext()) {
theKey=(String)it.next();
System.out.println(queryParams.getFirst(theKey));
}
System.out.println("I am called");
return "Hi";
}
但我运气不好。通常我的要求是在登录时存储用户特定的数据,然后在服务类内部检索它。
我避免在会话中存储数据,因为用户可能在一个浏览器下登录多个ID,这会生成相同的会话ID,并且有可能为首次登录的用户覆盖数据。 / p>