I am developing REST services that should receive some information. In this case, two objects and an attribute.
This is javascript where I am testing a POST request
var user = { username: "admin", password: "admin" }; var userToSubscribe = { username: "newuser", password: "newpassword", email: " user@1and1.es " }; var openid = "myopenid"; $.ajax({ url: '/myportal/rest/subscribeUser.json', type: 'POST', dataType: 'json', contentType: 'application/json', mimeType: 'application/json', data: JSON.stringify({ user: user, userToSubscribe: userToSubscribe, openid: openid}) });
POST request:
JSON openid "myopenid" user Object { username="admin", password="admin"} userToSubscribe Object { username="newuser", password="newpassword", email=" user@1and1.es "} Source {"user":{"username":"admin","password":"admin"},"userToSubscribe":{"username":"newuser","password":"newpassword","email":" user@1and1.es "},"openid":"myopenid"}
And the controller that processes the POST:
@RequestMapping(method=RequestMethod.POST, value="/subscribeUser.json") public @ResponseBody Message subscribeUser(@RequestBody("user") User user, @RequestBody("userToSubscribe") User userToSubscribe, @RequestParam String openid){ ... }
And mistake
POST subscribeUser.json 400 Invalid localhost request: 8080 990 B [:: 1]: 8080
What am I doing wrong?
thanks