【问题标题】:How to pass input parameters using rest client in spring restful web services如何在spring restful web services中使用rest客户端传递输入参数
【发布时间】:2015-12-23 12:54:12
【问题描述】:

我正在尝试使用 spring rest4 创建一个 web 服务,但无法通过 rest-client 传递输入参数,谁能建议我如何传递输入参数。

RequestMapping(value = "/create", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Status addEmployee(@RequestBody User user) {
    try {
        // Manually setting passing parameters
        user.setUserId(0);
        user.setFirstName("dfsdfsd");
        user.setUserMailId("sadsda");
        user.setAddress("sfds");
        user.setCreatedBy(1);
        user.setIsDeleted(0);
        user.setLastName("sadas");
        user.setMobileNumber("adsasdsa");
        user.setUsrtStatus(1);
        user.setUserPassword("asdsaf");
        user.setRoleId(1);
        System.out.println("firstname:=" + user);

        dataServices.addEntity(user);

        System.out.println(user);
        return new Status(1, "Employee added Successfully !");
    } catch (Exception e) {
        e.printStackTrace();
        return new Status(0, e.toString());
    }

}

我正在使用“WizTool.org RestClient 3.2.2”,Url =“http://localhost:8080/XYZ2/rest/user/create”和我传递的输入参数 -

{
    "inputs": [{
        "parameterName": "pv_user_id",
        "parameterValue": ""
    }{
        "parameterName": "pv_adress",
        "parameterValue": "kjhfgkjdfhgfdhk"
    }]
}

提前致谢

【问题讨论】:

  • 你使用的是哪个rest客户端?你是如何请求网址的?
  • 我正在使用“WizTool.org RestClient 3.2.2”,

标签: java spring rest parameters


【解决方案1】:

将以下内容添加到您的控制器中,

RequestMapping(value = "/userformat", method = RequestMethod.GET)
public @ResponseBody User getUserFormat() {
    User user = new User();
    user.setUserId(0);
    user.setFirstName("dfsdfsd");
    user.setUserMailId("sadsda");
    user.setAddress("sfds");
    user.setCreatedBy(1);
    user.setIsDeleted(0);
    user.setLastName("sadas");
    user.setMobileNumber("adsasdsa");
    user.setUsrtStatus(1);
    user.setUserPassword("asdsaf");
    user.setRoleId(1);

    return user;
}

在您的浏览器中调用此网址“http://localhost:8080/XYZ2/rest/user/userformat”,它会以 json 格式返回您的用户表示。 现在为用户复制这个 json 格式并删除所有添加到控制器的上述代码。

在 wiztool 休息客户端中:
1.输入网址“http://localhost:8080/XYZ2/rest/user/userformat”。假设您在此过程之后正在删除其对应的控制器映射
2. 选择方法为 GET
3. 点击“>>”按钮触发请求
4.复制你在HTTP响应“Body”中得到的任何json,如下图所示

用户 json 可能类似于以下内容。我只包含了几个属性。对于其余部分,您可以从上面介绍的 url "userformat" 的输​​出中获取。

{
"userId": 1,
"firstName": "ronaldinho",
"lastName": "Gaucho",
"userMailId": "r10@gmaildummy.com",
"roleId": 2
}

您可以在此 URL“http://localhost:8080/XYZ2/rest/user/create”的请求正文中使用它

在 wiztool 休息客户端中:
1.输入网址“”http://localhost:8080/XYZ2/rest/user/create“”
2.选择方法为POST

  1. 现在单击图像中突出显示的“Body”。从下拉列表中选择“字符串主体”。在下一个输入中,输入内容类型的“application/json”。现在粘贴我们从第一个 url 的输出中复制的用户 json 格式并将其粘贴到文本区域中。您可以查看下图
  2. 点击“>>”触发请求。

为什么我建议你这个方法是因为我不知道你在 User 类中是否有任何 json 属性注释。此外,使用这种方式比手动创建 json 更好。

【讨论】:

  • 感谢建议,你能告诉我如何从客户端传递参数,就像上面的 sn-p 我手动传递,而不是使用任何注释或参数技术,我怎样才能传递这些参数该方法将通过 Rest-Client 主体接收这些
  • 检查我编辑的答案...如果您知道用户对象的 json 格式,那么您可以跳转到答案中的“触发创建的步骤”。但是您发布的问题中的 json 格式不正确。检查格式的答案
猜你喜欢
  • 1970-01-01
  • 2015-04-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
相关资源
最近更新 更多