我正在尝试访问我能够使用curl测试的Rest资源 id长度应为11个字符 如果id的长度小于11,例如'12345' https://somesite.com:7677/something/id/ {id}我从我的java代码获得404 HTTP错误并且卷曲是预期的
如果id的长度等于11并且它是无效的id 然后我从curl和java获得相同的响应
但是如果我给出curl提供的有效id 我正在获得正确的json响应,但是当我试图从restTemplate访问Rest资源时,它显示错误,如下所示
客户端发送的请求在语法上是不正确的()。并且此请求没有错误日志
我无法在过去2天内弄明白,请提供您对此的想法,以便它对我来说真的很有帮助 我的休息模板配置:
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
<property name="messageConverters">
<list>
<ref bean="jsonHttpMessageConverter" />
</list>
</property>
</bean>
iam尝试访问的代码是
public List<Account> getAccounts(PersonNumber personNumber) {
logger.warn("Inside getAccounts of TransferAgreement client");
String url = "https://somesite.com:7677/something/id/12345";
logger.warn("URL acessing "+personNumber.toString()+" URL "+ url);
String a = restTemplate.getForObject(url, String.class);
System.out.println(a);
return null;
}
答案 0 :(得分:4)
假设您正在使用Eclipse。
启用Spring的日志记录
我认为启用日志记录就足够了,我希望在Spring中有一个例外。但另外,测试是否执行了请求:
答案 1 :(得分:0)
您可以设置开发环境,以便在Spring代码中设置调试断点吗?如果是这样,您可以在AbstractHttpMessageConverter.write()的最后一行设置断点。假设您可以在调试器在断点处暂停应用程序时评估Java表达式,您应该尝试获取outputMessage.toString()的结果,将其复制出IDE,然后将其粘贴到文本编辑器中。这将显示RestTemplate正在发送的JSON,因此您可以验证它与您通过curl发送的内容完全相同。