2014-02-09 41 views
0

这是我的代码如何设置restTemplate参数类型?

RestTemplate restTemplate = new RestTemplate(); 

    MultiValueMap<String, Object> vars = new LinkedMultiValueMap<String, Object>(); 
    vars.add("name", fileName); 
    vars.add("parent", "43"); 
    vars.add("size_s3", size_s3); 
    vars.add("size_ssg", size_ssg); 
    vars.add("size", size); 

    HttpHeaders headers = new HttpHeaders(); 
    headers.set("Authorization","token "+user.getToken()); 
    headers.setContentType(MediaType.APPLICATION_JSON); 

    HttpEntity<?> entity = new HttpEntity<MultiValueMap<String, Object>>(vars, headers); 
    result = restTemplate.exchange(RestInfo.restURL+"/files", HttpMethod.POST, entity, String.class).getBody(); 

的httpClientErrorException是400 BAD REQUEST

{ “size_s3”:[ “输入一个整数。”], “父”:[“不正确的类型预期pK值,收到名单。“],”大小“:[”输入一个整数。“]}

我认为prameter类型的问题。所以我试图改变我的代码,像这样

vars.add(“size_s3”,Integer.parseInt(size_s3));

,但结果是一样的...

如何设置restTemplate参数类型?

帮我看看!

回答

0
RestTemplate restTemplate = new RestTemplate(); 

MultiValueMap<String, Object> vars = new LinkedMultiValueMap<String, Object>(); 
vars.add("name", fileName); 
vars.add("parent", 43); 
vars.add("size_s3", size_s3); 
vars.add("size_ssg", size_ssg); 
vars.add("size", size); 

HttpHeaders headers = new HttpHeaders(); 
headers.set("Authorization","token "+user.getToken()); 
headers.setContentType(MediaType.APPLICATION_JSON); 

HttpEntity<?> entity = new HttpEntity<Object>(vars, headers); 
result = restTemplate.exchange(RestInfo.restURL+"/files", HttpMethod.POST, entity, String.class).getBody(); 

我会在你的代码的一些变化试试