美文网首页
Spring 4.1+ 的 JSONP使用

Spring 4.1+ 的 JSONP使用

作者: 风间影月 | 来源:发表于2017-10-26 16:19 被阅读56次

如今的巨石应用已经越来越不行了,很多互联网在后期都会在用分布式的架构

那么在页面上不同的服务调用不同域名下的json是有问题的

(跨域:不同域名,相同域名但是不同端口)

JavaScript规范中提到的json是不能直接跨域调用,为了安全,但是能调用js片段

所以把json包装为一个js片段,也就是jsonp那么就能够跨域请求

在spring4.1后,提供了新的方法可以作为jsonp的调用

例:

@RequestMapping(value="/list")
    @ResponseBody
    public Object getItemCatList(String callback) {
        ItemCatResult result = itemCatService.getItemCatList();
        if (StringUtils.isBlank(callback)) {
            //需要把result转换成字符串
            return result;
        }
        //如果字符串不为空,需要支持jsonp调用 spring4.1 以上可用
        MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result);
        mappingJacksonValue.setJsonpFunction(callback);
        return mappingJacksonValue;
    }

如图,这就是jsonp


那么只要在js需要调用jsonp的地方稍加处理就能够跨域调用数据了~

尚自习 | 程序员的进阶平台 itzixi.com

微信公众号:BeJavaGod

Java技术交流群

相关文章

网友评论

      本文标题:Spring 4.1+ 的 JSONP使用

      本文链接:https://www.haomeiwen.com/subject/kgykpxtx.html