【问题标题】:Use direct link instead of postForEntity使用直接链接而不是 postForEntity
【发布时间】:2017-07-23 00:26:01
【问题描述】:

如果这个问题没有建设性,我深表歉意,我是 Spring 新手,找不到答案(也许我在错误的上下文中搜索)

我遇到了麻烦

this.restTemplate.postForEntity(url, request, String.class).getBody();

返回null,是否可以手动测试以确保url和数据正确?

示例: https://sandbox.test.com/checkout_url/

正文:{"first_name":"姓名", "姓氏":"姓氏"}

类似https://sandbox.test.com/checkout_url?first_name=Name&last_name=Last

【问题讨论】:

  • 您是否也在编写控制器代码?
  • @efekctive 是的,我还编写了控制器代码。但如果我没记错的话,应该和测试帖子没有任何关系吧?
  • 你在敲控制器吗?您可以使用调试器,在相关方法中放置断点并单步执行代码吗?
  • @efekctive 是的,我试过了,但我仍然不明白调试器是如何工作的。但是我尝试按照 lhhong 的建议使用邮递员,并且得到了正确的响应,但是当我尝试从 postForEntity 打印结果时,它返回一个空值。我的方法调用有问题吗?

标签: java spring


【解决方案1】:

如果我正确理解您的问题,您可能正在查看Postman。它允许您手动发出 HTTP 请求。

【讨论】:

  • 是的,谢谢@lhhong!我从中得到了正确的结果,但是我从 postForEntity 得到了一个空值,你知道它为什么会发生吗?
  • 抱歉,因为我还没有足够的声誉,所以不得不在这里而不是上面发表评论。你能记录你的控制器并确保它被击中吗?您还可以检查您的 response.getStatusCodeValue() 并确保它是 2 _ _。另外,我意识到您在问题中同时使用了请求正文和请求参数,请确保您使用正确的请求。
  • 感谢您的意见,不胜感激!我想通了,原来是因为我没有自动装配我的一个类,而是使用 new() 操作,这就是为什么当我调试它时,它会跳过 postForEntity
猜你喜欢
  • 2013-11-14
  • 1970-01-01
  • 2011-04-24
  • 2017-04-18
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
相关资源
最近更新 更多