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

时间:2013-06-18 18:12:18

标签: spring spring-mvc resttemplate

使用Spring RESTTeample如何在post上传递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);

1 个答案:

答案 0 :(得分:1)

在给出的代码中,您当前只传递用户信息。如果要将id和用户信息传递给REST服务,为什么不将用户对象与id一起放入hashmap中,并将hashmap传递给其余服务。样本将是这样的

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

如果您的休息服务接受此类输入,则提供此信息。