0

Spring RESTTeample を使用して、投稿時に URL のハッシュマップ値を渡すにはどうすればよいですか?

Spring RESTTeample を使用してユーザー オブジェクトを Web サービスに投稿しようとしていますが、問題は、ID を 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 と共にハッシュマップに入れ、ハッシュマップを残りのサービスに渡してみませんか。サンプルはこのようになります

    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 に答える