【问题标题】:How to set restTemplate parameter type?如何设置 restTemplate 参数类型?
【发布时间】:2014-02-09 07:25:10
【问题描述】:

这是我的代码

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": ["输入一个整数。"], "parent": ["类型不正确。预期的 pk 值,收到的列表。"], "size": ["输入一个整数。"] }

我认为参数类型有问题。所以我试着像这样改变我的代码

vars.add("size_s3", Integer.parseInt(size_s3));

但结果是一样的......

如何设置restTemplate参数类型?

请帮帮我!

【问题讨论】:

    标签: spring rest type-conversion resttemplate bad-request


    【解决方案1】:
    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();
    

    我会修改你的代码试试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-15
      • 2023-04-05
      • 2012-01-14
      • 2011-02-28
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      相关资源
      最近更新 更多