0

Web サービスの開発に Jersey Framework を使用しています。内部にセッターとゲッターを持つ UserInfo という名前の DTO オブジェクトがあります。ユーザーがログインするときに、最初にこの 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";
    }

しかし、私は運が悪かった。通常、私の要件は、ログオン時にユーザー固有のデータを保存し、それをサービス クラス内で取得することです。

ユーザーが 1 つのブラウザーで複数の ID を使用してログインすると、同じセッション ID が生成され、最初にログインしたユーザーのデータが上書きされる可能性があるため、セッションにデータを保存することは避けています。

4

0 に答える 0