• Springboot中跨域的问题


    最初的代码时在特定方法里写响应头的,代码经过不断演化,变成以下

    response.setHeader("Access-Allow-Control-Origin","*");
    response.setHeader("Access-Control-Allow-Headers","*");
    response.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, OPTIONS");

    java代码:

    @PostMapping("query")
    @ResponseBody
    public JsonResult query(String mapId,HttpServletResponse response)
    {
        response.setHeader("Access-Allow-Control-Origin","*");
        response.setHeader("Access-Control-Allow-Headers","*");
        response.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, OPTIONS");
        if(Objects.isNull(mapId))
        {
            return errorResult("地图模型载入失败");
        }
        List<SnapShot> list = handleInternal(mapId);
    
        if(Objects.isNull(list))
        {
            return errorResult("地图模型载入失败");
        }
    
        String lastUpdateTime = statusService.queryStatus("lastUpdateTime");
        return successResult("成功", ImmutableMap.of("updateTime",lastUpdateTime,"result",list));
    }

    可是还会报错

    Access to XMLHttpRequest at  from origin  has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

    和同事咨询了一下,解决方法如下

    在对应的方法加注解

    @CrossOrigin(origins = "*", maxAge = 3600)
    @PostMapping("query")
    @ResponseBody
    public JsonResult query(String mapId)
    {
        
        if(Objects.isNull(mapId))
        {
            return errorResult("地图模型载入失败");
        }
        List<SnapShot> list = handleInternal(mapId);
    
        if(Objects.isNull(list))
        {
            return errorResult("地图模型载入失败");
        }
    
        String lastUpdateTime = statusService.queryStatus("lastUpdateTime");
        return successResult("成功", ImmutableMap.of("updateTime",lastUpdateTime,"result",list));
    }
  • 相关阅读:
    java Semaphore的介绍和使用
    java CyclicBarrier的介绍和使用
    java CountDownLatch 使用介绍
    android模拟器不能上网设置
    计算几何题集
    BZOJ1004: [HNOI2008]Cards
    BZOJ1029: [JSOI2007]建筑抢修
    BZOJ1037: [ZJOI2008]生日聚会Party
    BZOJ1083: [SCOI2005]繁忙的都市
    Java开发笔记(一百一十四)利用Socket传输文本消息
  • 原文地址:https://www.cnblogs.com/passedbylove/p/12377638.html
Copyright © 2020-2023  润新知