JSONP 与 Spring 3.0 和 Jackson
要使用 Spring 3.0 返回 JSON 响应,只需在 @Controller
内添加 @ResponseBody
注释以及 @RequestMapping
即可。如果加载了 MapppingJacksonJson 库并且客户端使用 application/json
发送 Accept 标头,它将起作用。
JSONP 怎么样?是否可以退货以及如何退货?
To return a JSON response with Spring 3.0 is enough to add a @ResponseBody
annotation along with the @RequestMapping
inside a @Controller
. Provided that MapppingJacksonJson library is loaded and that the client sends Accept header with application/json
, it will work.
What about JSONP? Is it possible to return it and how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这篇博文展示了一个正确且紧凑的解决方案:Implementing JSONP in Spring MVC 3.0.x
这个对于 Spring 3.1 效果更好:Spring 3.1 中的 XML、JSON、JSON-P Web 服务端点
对于 Spring 3.2,这是一个基于 Jackson2 的 JSONP 转换器:
要添加它,请将此 bean 放入您的配置中:
This blog post shows a correct and compact solution: Implementing JSONP in Spring MVC 3.0.x
This one works better for Spring 3.1: XML, JSON, JSON-P Web Service Endpoints in Spring 3.1
For Spring 3.2, here is a Jackson2 based JSONP converter:
To add it, put this bean in your configuration:
从
Spring 4.1
开始,您可以通过以下方式轻松做到这一点:Since
Spring 4.1
you can easy do it this way:我一直在寻找一种更简单的 OOB 方法来实现 JSONP 方法(JSONP/CORS 应该是内置的 IMO...不需要任何自定义代码)...从未找到任何...但在与 Spring 团队联系后,它事实证明,JSONP 现在通过
MappingJacksonJsonView
在 4.0.5 中支持 OOB和稍后将介绍内置支持CORS。I was looking for a simpler, OOB approach for JSONP approach (JSONP/CORS should be built-in IMO...not require any custom code)...never found any...but after reaching out with the Spring team, it turns out that JSONP is now supported OOB in 4.0.5 via
MappingJacksonJsonView
and built-in supportCORS to follow later.