使用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);
答案 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);
如果您的休息服务接受此类输入,则提供此信息。