是否可以以未定义的顺序检索路径参数?

时间:2015-02-09 14:12:45

标签: java rest jax-rs

目前,我作为服务请求收到的URL有点像这样 -

http://192.168.1.223:8080/webservices/test/UserSignUp/FirstName=kk&LastName=test&MailId=kk@mail.com&UUID=1234&EmpCode=18&MobileNo=123456789

以下代码负责数据提取 -

    @Path("FirstName={param0}&LastName={param1}&MailId={param2}&UUID={param3}"
            + "&EmployeeCode={param4}&MobileNo={param5}")
    @GET
    @Produces("application/json")
    public Response userSignUpService(
            @PathParam("param0") String firstName, 
            @PathParam("param1") String lastName,
            @PathParam("param2") String mailId,
            @PathParam("param3") String uuId,
            @PathParam("param4") String empCode,
            @PathParam("param5") String mobileNo) {

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("FirstName", firstName);
        jsonObject.put("LastName", lastName);
        jsonObject.put("MailId", mailId);
        jsonObject.put("UUID", uuId);
        jsonObject.put("EmployeeCode", empCode);
        jsonObject.put("MobileNo", mobileNo);

        String result = String.valueOf(jsonObject);

        return Response.status(200).entity(result).build();     
    } 

在上述方法中,参数的顺序是固定的。即firstname,lastname,mailid,uuid,empcode和mobileno。

我希望上面的序列是未定义的。我的意思是,上述参数应该以任何顺序传递,我的代码应该能够提取它们。

有可能吗?

1 个答案:

答案 0 :(得分:4)

您可能希望查看@QueryParam而不是@PathParam

E.g。 http://www.mkyong.com/webservices/jax-rs/jax-rs-queryparam-example/