responseBody返回jsonp格式

因为项目发布在公司自己服务器,没有绑定域名,只能在局域网之内使用。前端说正常访问不到,因为同源策略的原因,只能用jsonp请求。

jsonp要求返回的格式前面加多一个名字,包裹着json串,接口大部分都是写好的,而且代码中用的都是@ResponseBody注解,如果要在代码

用fastJson转json,完成这样的格式。相对来说会麻烦很多。个人百度看了好几篇文章。http://blog.csdn.net/zmx729618/article/details/54017602

是关于@responseBody返回jsonp格式

看了这篇文章之后就自己写了  只需要继承AbstractJsonpResponseBodyAdvice 在构造函数添加参数名称即可完成

responseBody返回jsonp格式_第1张图片

在这里一开始自己遇到一个问题 一直以为@ControllerAdvice是扫描controller层的 我就把这个类放在conf包下 结果试了不行,后来就把这个类放在web包下才可以。


@ControllerAdvice(basePackages ="")所以个人理解为继承AbstractJsonpResponseBodyAdvice的类需要在扫描包及其包下才可以


现在已经实现该功能 只要在请求的时候多加


这两个参数就可以返回jsonp格式 如果不加不影响原来的格式 真的方便很多



这个是没添加callback jsonp参数



加了参数就变成这样 可以看到整体对原来的返回参数的形式无影响




你可能感兴趣的:(responseBody返回jsonp格式)