Malgré le succès du transfert de données Java vers JSON à l'aide de @ResponseBody, la mise en œuvre de son chemin inverse a été insaisissable. Cet article examine la solution permettant de sérialiser à nouveau JSON dans un objet Java à l'aide de @RequestBody.
Pour garantir une expérience transparente, assurez-vous de ce qui suit :
Pour illustrer la solution, considérons l'exemple ci-dessous :
web.xml :
<servlet> <servlet-name>json</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>json</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
json-servlet.xml :
<beans> <import resource="classpath:mvc-context.xml" /> </beans>
mvc-context.xml :
<beans> <mvc:annotation-driven /> <context:component-scan base-package="test.json" /> </beans>
TestController (classe de contrôleur) :
@Controller @RequestMapping("/test") public class TestController { @RequestMapping(method = RequestMethod.POST, value = "math") @ResponseBody public Result math(@RequestBody final Request request) { ... } }
Requête (POJO pour les requêtes POST) :
public class Request { private int left; private int right; ... }
Résultat (POJO pour les réponses sérialisées) :
public class Result { private int addition; private int subtraction; private int multiplication; ... }
Exécutez la commande mvn jetty:run et envoyez la requête POST suivante :
La réponse que vous devriez recevoir :
{"addition":20,"subtraction":6,"multiplication":91}
Ceci démontre le transfert de données bidirectionnel entre JSON et Java à l'aide de @RequestBody.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!