0

使用 Spring RESTTeample 如何在帖子上传递 url 的 hashmap 值?

我正在尝试使用 Spring RESTTeample 将用户对象发布到 Web 服务,但我遇到的问题是我将我的 id 放入 hashMap 并且我不知道如何将 hashmap 传递到 RESTTemplate 中使用。你能看看下面的代码让我知道吗..我不想在 URL 上硬编码 ID

Map<String, String> vars = new HashMap<String, String>();
vars.put("id", "MMS");

RestTemplate rt = new RestTemplate();
rt.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
rt.getMessageConverters().add(new StringHttpMessageConverter());

URI uri = new URI("http://" + mRESTServer.getHost() + ":8080/springmvc-resttemplate-test/api/{id}");

User u = new User();
u.setName("Mickey Mouse");
u.setUser("MMS");
User returns = rt.postForObject(uri, u, User.class);
4

1 回答 1

1

在给出的代码中,您当前只传递用户信息。如果你想将id和用户信息传递给REST服务,为什么不把用户对象和id一起放入hashmap中,然后将hashmap传递给rest服务。一个样本将是这样的

    Map<String, Object> request = new HashMap<String, Object>();
    request.put("id", "MMS");
    request.put("user", user);
    restTemplate.postForObject(completeUrl,request, User.class);

前提是您的休息服务接受这样的输入。

于 2013-06-18T18:15:38.797 回答