Url,Credentials在RestClient UI以及Curl中工作,因为当通过Spring RestTemplate访问相同内容时,我遇到"500"错误.
我使用以下代码:
MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>();
map.add("name", user);
map.add("password", password);
restTemplate.postForObject(url, request, Employee.class, map);
Run Code Online (Sandbox Code Playgroud)
请告诉我您的建议或意见以解决问题.
You*_*ess 13
我建议您创建HttpComponentsClientHttpRequestFactory并将其传递给您RestTemplate,如下所述:
ClientHttpRequestFactory requestFactory = new
HttpComponentsClientHttpRequestFactory(HttpClients.createDefault());
RestTemplate restTemplate = new RestTemplate(requestFactory);
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以在测试应用程序时避免服务器端问题(如面临错误代码500).
我有同样的问题,在我的本地环境中工作,而不是在服务器上.
在构建它时传递HttpClients.createDefault()给你是一个好习惯,HttpComponentsClientHttpRequestFactory因为默认情况下,这个工厂使用系统属性HttpClient为你的工厂创建,这可能会给真实的服务器环境带来很多痛苦.您也可以通过自定义HttpClient.
小智 8
RestTemplate header Accept problem
--> accept - text/plain, application/json, */*
HttpClient 4.x header Accept
--> accept - application/json
Run Code Online (Sandbox Code Playgroud)
所以我修好了
HttpHeaders headers = new HttpHeaders();
headers.add("Accept", MediaType.APPLICATION_JSON_VALUE);
Run Code Online (Sandbox Code Playgroud)
http://www.manning-sandbox.com/message.jspa?messageID=119733
我也遇到过服务器响应为“500 Internal server error”的情况
虽然我收到了Postman对相同参数值的成功响应。所以问题不在服务器端。
问题是参数名称拼写错误,应用程序参数和服务器参数之间的拼写不匹配
Server parameter -> requestLabel
Application parameter -> requestLable
Run Code Online (Sandbox Code Playgroud)
希望像我这样的新人能从中得到帮助。
下面工作正常
对于帖子:
restTemplate.postForObject(url,parametersMap,Employee.class);
url 是: String - Rest api URLparametersMap - MultiValueMap Employee - 需要从 JSON 响应转换的对象
| 归档时间: |
|
| 查看次数: |
68864 次 |
| 最近记录: |