java - @RequestBody and @ResponseBody annotations in Spring -
can explain @requestbody , @responsebody annotations in spring 3? for? examples great.
there whole section in docs called 16.3.3.4 mapping request body @requestbody annotation. , 1 called 16.3.3.5 mapping response body @responsebody annotation. suggest consult sections. relevant: @requestbody javadocs, @responsebody javadocs
usage examples this:
using javascript-library jquery, post json-object this:
{ "firstname" : "elmer", "lastname" : "fudd" } your controller method this:
// controller @responsebody @requestmapping("/description") public description getdescription(@requestbody userstats stats){ return new description(stats.getfirstname() + " " + stats.getlastname() + " hates wacky wabbits"); } // domain / value objects public class userstats{ private string firstname; private string lastname; // + getters, setters } public class description{ private string description; // + getters, setters, constructor } now if have jackson on classpath (and have <mvc:annotation-driven> setup), spring convert incoming json userstats object post body (because added @requestbody annotation) , serialize returned object json (because added @responsebody annotation). browser / client see json result:
{ "description" : "elmer fudd hates wacky wabbits" } see previous answer of mine complete working example: https://stackoverflow.com/a/5908632/342852
note: requestbody / responsebody of course not limited json, both can handle multiple formats, including plain text , xml, json used format.
update: ever since spring 4.x, won't use @responsebody on method level, rather @restcontroller on class level, same effect. see creating rest controllers @restcontroller annotation
Comments
Post a Comment