解決した

ヘッダーのparamsを送信し、サーバー側で取得する - java

サーバー

私はジャージーを使用しており、リクエストのヘッダからparamsを取得したい。

ここに私のJavaサーバー側のコードです:

@GET
@Path("/usersForMobile")
@Produces({ MediaType.APPLICATION_JSON + ";charset=utf-8" })
public Response getUsersForMobile(@Context UriInfo info) {  
    String rashutId ;
    String userName ;
    String password;
    List<User> inspectorList= new ArrayList<User>();

    try {

         rashutId = info.getQueryParameters().getFirst("rashutId");
         userName = info.getQueryParameters().getFirst("userName");
         password = info.getQueryParameters().getFirst("password");
         inspectorList = LoginService.getInspectorsList(userName,password,rashutId);

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();        
        }

        if(!inspectorList.isEmpty())
            return Response.status(Status.OK).entity(new UsersResponse(inspectorList, true)).build();
        else
            return Response.status(Status.OK).entity("No inspectors found").build();

    }
}

これまではurlからparamsを取得していましたが、信頼できる方法ではないので、ヘッダーに渡すことにしました。どのようにリクエストヘッダーから取得できますか?

ありがとう!


Progress 100%

一番いい

回答

サーバー

@HeaderParam( "paramName")を使ってHTTPHeaderのパラメータを取得することができます。

public Response getUsersForMobile(@Context UriInfo info, @HeaderParam("paramName")String  paramValue) 

あなたが持っている文脈を使う

String paramValue = info.getRequestHeader("paramName").get(0);