如何使用Spring-Boot RestTemplate发布数据



实际上,我有此休息模板请求:

@RequestMapping(value = "/uploadProperties", method = RequestMethod.POST)
public @ResponseBody RessourceMetadata uploadProperties(
        @RequestParam(value = "group", required = true) String group,
        @RequestParam(value = "id", required = true) String id,
        @RequestParam(value = "version", required = true) String version,
        @RequestParam(value = "env", required = true) String env) {
    try {
        Ressource ressource = new Ressource(content, group, id, version, env, PropertiesFileUtils.getPropertiesFilename());
        getRessourceService().save(ressource);
        return ressource.getMetadata();
    } catch (RuntimeException e) {
        log.error("Error while uploading.", e);
        throw e;
    } catch (Exception e) {
        log.error("Error while uploading.", e);
        throw new RuntimeException(e);
    }
}

我想添加一个@RequestBody

    @RequestBody @RequestParam(value = "content", required = true) ????? content

这个新的content可以包含任何东西。

如何正确传递content参数?

声明这样的类

class PostBody{
   Map<String, String> content;
}

使用此帖子为@RequestBody。您可以将任何字符串键值对传递给此结构。像这样的东西

{
"content":
    {
      "version" : "1.1",
      "env" : "test"
    }  
}

{
"content":
    {
      "version" : "1.1",
      "env" : "test",
      "id" : "1.1"
    }  
}

最新更新