Java Spring@RestController是否默认启用CORS?

Java Spring@RestController是否默认启用CORS?,java,spring,rest,spring-mvc,spring-boot,Java,Spring,Rest,Spring Mvc,Spring Boot,我正在通读这篇文章,它提到我们可能会看到2个对动态资源的请求,因为这个控制器有一个CORS协商: @SpringBootApplication @RestController public class UiApplication { @RequestMapping("/resource") public Map<String,Object> home() { Map<String,Object> model

我正在通读这篇文章,它提到我们可能会看到2个对动态资源的请求,因为这个控制器有一个CORS协商:

    @SpringBootApplication
    @RestController
    public class UiApplication {

      @RequestMapping("/resource")
      public Map<String,Object> home() {
        Map<String,Object> model = new HashMap<String,Object>();
        model.put("id", UUID.randomUUID().toString());
        model.put("content", "Hello World");
        return model;
      }

      public static void main(String[] args) {
        SpringApplication.run(UiApplication.class, args);
      }

    }
@springboot应用程序
@RestController
公共类应用程序{
@请求映射(“/resource”)
公共地图主页(){
映射模型=新的HashMap();
model.put(“id”,UUID.randomuid().toString());
model.put(“内容”,“你好世界”);
收益模型;
}
公共静态void main(字符串[]args){
run(UiApplication.class,args);
}
}
只是想知道
@RestController
注释是否默认启用CORS?

否,请参阅:

因此RESTful web服务将包括CORS访问控制 在其响应中,您只需添加一个@CrossOrigin 处理程序方法的注释:

不,见:

因此RESTful web服务将包括CORS访问控制 在其响应中,您只需添加一个@CrossOrigin 处理程序方法的注释:

您需要自己添加@CrossOrigin注释才能在春季获得CORS支持

原因:

默认情况下启用CORS(跨源资源共享)将是一个严重的安全问题

考虑文档中的这个例子

出于安全原因,浏览器禁止对资源进行AJAX调用 居住在当前来源之外。例如,当您检查时 你的银行账户只需一个标签,你就可以打开邪恶网站 在另一个选项卡中。来自evil.com的脚本应该不能生成 AJAX请求您的银行API(例如,从您的 帐户!)使用您的凭据

您需要自己添加@CrossOrigin注释才能在春季获得CORS支持

原因:

默认情况下启用CORS(跨源资源共享)将是一个严重的安全问题

考虑文档中的这个例子

出于安全原因,浏览器禁止对资源进行AJAX调用 居住在当前来源之外。例如,当您检查时 你的银行账户只需一个标签,你就可以打开邪恶网站 在另一个选项卡中。来自evil.com的脚本应该不能生成 AJAX请求您的银行API(例如,从您的 帐户!)使用您的凭据


CORS支持在默认情况下是禁用的,并且仅在
endpoints.CORS.allowedorigins
属性已设置。下面的配置允许从 example.com域:

endpoints.cors.allowed-origins=http://example.com
endpoints.cors.allowed-methods=GET,POST


检查选项的完整列表。

CORS支持在默认情况下是禁用的,并且仅在
endpoints.CORS.allowedorigins
属性已设置。下面的配置允许从 example.com域:

endpoints.cors.allowed-origins=http://example.com
endpoints.cors.allowed-methods=GET,POST


检查选项的完整列表。

否。例如,来自evil.com的脚本不应该能够向您的银行发出AJAX请求。

否。例如,来自evil.com的脚本不应该能够向您的银行发出AJAX请求,所以好奇。。。如果控制器未启用CORS,是否可以对控制器进行CORS协商?因此,请好奇。。。如果控制器未启用CORS,控制器是否可以进行CORS协商?对于那些展望未来的人-这只适用于弹簧执行器-而不是你的控制器对于那些展望未来的人-这只适用于弹簧执行器-而不是你的控制器