当前位置: 首页 > 知识库问答 >
问题:

无法使用RESTTemboard发送GET请求

巴博耘
2023-03-14

我需要发送一个请求,如下所示

 http://server.com/server1/index.php?id=123&name=jack&date=12.1.2016

我使用以下代码,但它似乎没有发送一个正确的请求,因为响应对象是空的。我也想知道如何显示完整的url restTemboard发送?我知道WireShark可以使用,但有什么方法可以使用restTem板检索它吗?

密码

String url = "http://server.com/server1/index.php?"
Map<String,String> vars = new HashMap<String,String>();
vars.put("id","123");
vars.put("name","jack");
vars.put("date","12.1.2016");

Profile profile = restTemplate.getForObject(url,Profile.class,vars);

共有2个答案

云锦
2023-03-14

此URL模板中没有模板变量:

String url = "http://server.com/server1/index.php?";

我认为您需要像这样明确地指定它们:

String url = "http://server.com/server1/index.php?id={id}&name={name}&date={date}";

在此模板中,id是查询字符串参数的名称,{id}指的是vars映射中的一个键。

除了像andih描述的那样打开日志之外,您还可以使用给定的一组变量实例化URL模板,如下所示:

new UriTemplate(url).expand(vars).toString()
白浩荡
2023-03-14

您可以设置日志级别为org.springframework.web.client.RestTem板调试,然后您将得到类似的输出:

12:11:22.072[main]调试o.s.web.client。RestTemplate-已为“”创建获取请求http://echo.jsontest.com/key/value/one/two“
12:11:22.110[main]调试o.s.web.client。RestTemplate-将请求接受头设置为[application/json,application/*json]
12:11:24.492[main]调试o.s.web.client。RestTemplate-获取“”的请求http://echo.jsontest.com/key/value/one/two“导致200(正常)
12:11:24.494[main]调试o.s.web.client。RestTemplate—使用[org.springframework.http.converter.json]将[class com.example.TestOptional$Echo]读取为“application/json;charset=ISO-8859-1”。MappingJackson2HttpMessageConverter@16f7c8c1]

在那里,您可以看到请求、URL和返回的HTTP状态代码。

如果您使用Logback xml配置,您将编写

<logger name="org.springframework.web.client.RestTemplate" level="DEBUG" />
 类似资料:
  • 请求方式: "|3|1|url|\r" 参数: url 设置Get请求的url链接 返回值: "|3|code|data|\r" 参数: code http请求返回的成功或者错误码, 成功:code = 200 获取数据失败:code = -1 http请求字段错误:code = 1 data http请求返回的数据 Arduino样例: softSerial.print("|3|1|http:/

  • zendserver 2019.7 php 7.3 apache 2.4 在测试环境中,我通过curl向我的本地服务器发送JSON post请求。当CURLOPT_POSTFIELDS少于1000个字符时,它的脚本被执行,我得到的响应很好。 但是当我增加JSON数组的长度时,同样的脚本会出现404错误。 我已经改变了所有的配置,如post_max_size等,但没有任何效果。 }'; $ URL

  • 我正在尝试根据下面的代码提出帖子请求: 此请求不需要身份验证,也不需要登录和密码。在邮递员那里,我可以成功地提出请求,但当我尝试执行上述代码时,我得到了: 401未经授权 我在邮递员那里模拟了错误,它给了我下面的信息: 当我在Postman中将身份验证方法更改为“No Auth”时,请求运行良好。 我想我必须在代码中设置这个选项“No Auth”,但我不知道如何设置。 我这样做: 但错误仍在继续。

  • 我正试图根据以下代码发出post请求: 在Postman,此请求工作正常,不需要身份验证,无需登录名、密码或令牌即可工作。但是,上面的代码不起作用。 日志控制台的一部分如下: 我无法粘贴整个stacktrace,因为stackoverflow平台不允许。

  • 这是我的控制器: 这是我的配置: 这是类别类: 如果我尝试发送内容类型为application/json和以下正文的post请求: {“id”:8,“title”:“Паа”、“engTitle”:“Pizza”、“description”:null,“menuItems”:[{“id”:4,“title”:“Паааааааааааа”和“engTitle”:“Pepperoni”、“price

  • 本文向大家介绍jsp+ajax发送GET请求的方法,包括了jsp+ajax发送GET请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ajax发送GET请求,然后通过jsp页面来接收处理的实现方法。分享给大家供大家参考。具体实现方法如下: Ajax发送GET请求 这里用一个实例演示Ajax发送get请求,实例具体要求为一个注册页面,当用户填写完用户名称时,该输入框失去焦点后会通过A