Hi,
hab mich jetzt ein bisschen mit RESTful Services beschäftigt (mit unterstützung von Spring 3.0) und es klappt auch alles sehr gut (GET, PUT, DELETE) bis auf Post - also ein Json- Object zum Server zu übertragen.
Meine Methode am Server schaut so aus:
Auf der Clientseite schaut das so aus:
Da kommt am Server folgendes heraus:
Weiß jemand warum das so ist bzw. was ich da noch falsch mache, Normal müsste es ja gehen, ich mache eine StringEntity, setze diese in den postRequest und mach ein execute, auf der Server- Seite müsste das Objekt ja dann ankommen???
Besten Dank,
Poller
hab mich jetzt ein bisschen mit RESTful Services beschäftigt (mit unterstützung von Spring 3.0) und es klappt auch alles sehr gut (GET, PUT, DELETE) bis auf Post - also ein Json- Object zum Server zu übertragen.
Meine Methode am Server schaut so aus:
Java:
// Mengen an Daten zur weiteren Verarbeitung zum Server,
@RequestMapping(value="/{username}", method=RequestMethod.POST, headers ={"Accept=application/json"})
@ResponseStatus(HttpStatus.NO_CONTENT)
public void postSpittle(@PathVariable("username") String username, @Valid Spitter spittle) {
System.out.println("------------------post: " + username + ", " + spittle);
}
Auf der Clientseite schaut das so aus:
Java:
public void spittlesForSpitterPost(String name) {
try {
HttpClient httpClient = new DefaultHttpClient();
String spittleUrl="http://localhost:8080/backend/spittles/IrgendeinName";
HttpPost postRequest = new HttpPost(spittleUrl);
postRequest.setHeader(new BasicHeader("Accept", "application/json"));
String str = "{\"name\":\"myusername\",\"surname\":\"myusername\",\"zip\":1234}";
StringEntity se = new StringEntity(str);
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
postRequest.setEntity(se);
HttpResponse response = httpClient.execute(postRequest);
System.out.println("post: " + response);
} catch (IOException e) {
e.printStackTrace();
}
Da kommt am Server folgendes heraus:
Code:
------------------post: IrgendeinName, [null, null, 0]
Weiß jemand warum das so ist bzw. was ich da noch falsch mache, Normal müsste es ja gehen, ich mache eine StringEntity, setze diese in den postRequest und mach ein execute, auf der Server- Seite müsste das Objekt ja dann ankommen???
Besten Dank,
Poller