带有MVC的Spring 3 JSON
-
05-07-2019 - |
题
有没有办法构建 Spring Web 调用,分别使用和生成 application / json
格式化的请求和响应?
也许这不是 Spring MVC ,我不确定。我正在寻找与 Jersey / JSON 类似的Spring库。最好的情况是,如果有一个注释,我可以添加到Controller类,将它们转换为 JSON 服务调用。
显示如何使用JSON构建 Spring Web Services 的教程非常棒。
编辑:我正在寻找基于注释的方法(类似于泽西岛)。
EDIT2:和Jersey一样,我正在寻找REST支持(POST,GET,DELETE,PUT)。
EDIT3:最好的情况是,这将是 pom.xml
条目以及有关使用spring-js和jackson Spring原生版本的一些信息。
解决方案
如果其他人员稍后到此处: http://blog.springsource.com/ 2010/01/25 / Ajax的简化式 - 弹簧 - 3-0 / 对我来说是最有用的链接。这最终使我理解了模型(经过不到一天的搜索)。
其他提示
你当然可以让控制器返回一个JSON输出的View。请查看 Spring-JSON项目。
要使用JSON中的请求,我会假设您只是希望控制器将请求参数传递给可以解析数据的JSON库吗?
没有预先打包的方式来做你想要的事情,因为泽西通过 Jersey-Spring API因此没有理由重新发明轮子。
由于spring-mvc 3.0正式支持使用JSON进行Ajax远程处理,因此作为Spring MVC的一部分提供。这包括使用Spring MVC @Controller编程模型支持生成JSON响应和绑定JSON请求。
请参阅此处
从3.0版开始,此功能现在是Spring的一部分。您可以简单地使用@ResponseBody批注指定您希望将请求处理程序方法的返回值序列化为JSON并作为响应正文发送。请参阅 http://blog.springsource.com / 2010/01/25 / Ajax的简化式 - 弹簧 - 3-0 /
似乎 DWR 框架看起来非常接近您想要的得到。
您可以通过处理程序映射然后使用映射将返回的数据转换为JSON。处理程序配置可以在xml中完成(无需重新编译),这对应用程序的其余部分完全透明。
使用一些注释来注释控制器相当容易,然后连接BeanFactory引导过程以在一些处理程序映射过程中注册控制器。
我已经使用这种方法将结果从spring控制器转换为GWT RPC调用。
您还可以使用Spring AOP拦截控制器方法调用,并从/向JSON解包/包装请求。