ASC*_*kal 12 spring-mvc rest-client spring-3 resttemplate
我需要使用RESTTemplate将自定义对象传递给我的REST服务.
RestTemplate restTemplate = new RestTemplate();
MultiValueMap<String, Object> requestMap = new LinkedMultiValueMap<String, Object>();
...
requestMap.add("file1", new FileSystemResource(..);
requestMap.add("Content-Type","text/html");
requestMap.add("accept", "text/html");
requestMap.add("myobject",new CustomObject()); // This is not working
System.out.println("Before Posting Request........");
restTemplate.postForLocation(url, requestMap);//Posting the data.
System.out.println("Request has been executed........");
Run Code Online (Sandbox Code Playgroud)
我无法将自定义对象添加到MultiValueMap.请求生成失败.
有人可以帮我找到一个方法吗?我可以简单地传递一个字符串对象而没有问题.用户定义的对象会产生问题.
感谢任何帮助!
Chr*_*ris 32
这是我为一篇简单的POJO撰写的文章.
@XmlRootElement(name="newobject")
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
public class NewObject{
private String stuff;
public String getStuff(){
return this.stuff;
}
public void setStuff(String stuff){
this.stuff = stuff;
}
}
Run Code Online (Sandbox Code Playgroud)
....
//make the object
NewObject obj = new NewObject();
obj.setStuff("stuff");
//set your headers
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
//set your entity to send
HttpEntity entity = new HttpEntity(obj,headers);
// send it!
ResponseEntity<String> out = restTemplate.exchange("url", HttpMethod.POST, entity
, String.class);
Run Code Online (Sandbox Code Playgroud)
上面的链接应告诉您如何在需要时进行设置.这是一个非常好的教程.
| 归档时间: |
|
| 查看次数: |
58501 次 |
| 最近记录: |