为什么springboot中的@CrossOrigin没起作用
时间: 2024-02-24 12:50:09 浏览: 27
在Spring Boot中,@CrossOrigin注解默认情况下只允许同源请求,如果需要允许跨域请求,需要在注解中添加一些参数。但是,如果在注解中只添加了@CrossOrigin而没有设置参数,那么它将不起作用。此时,需要在注解中添加一些参数,如@CrossOrigin(originPatterns = "*",allowCredentials = "true")。但是,如果在设置了allowCredentials为true的情况下,allowedOrigins参数设置为"*",就会出现上述报错信息。解决方案是将allowedOrigins参数设置为具体的域名或IP地址,或者使用allowedOriginPatterns参数代替allowedOrigins参数。
相关问题
springboot1.5.9使用@CrossOrigin
在Spring Boot 1.5.9中,可以使用@CrossOrigin注解来解决跨域问题。引用中的代码片段展示了如何在Spring Boot中使用@CrossOrigin注解。在使用@RestController注解的控制器类中,可以在@RequestMapping注解之前使用@CrossOrigin注解来允许跨域请求。在@CrossOrigin注解中,可以使用origins属性指定允许的请求来源,使用maxAge属性来指定缓存持续的最大时间(以秒为单位)。例如,@CrossOrigin(origins = "http://localhost:8088", maxAge = 3600)表示允许来自"http://localhost:8088"的请求,并且该请求的响应将在缓存中保持最多3600秒。中的文章也提到了使用@CrossOrigin注解来解决跨域问题。在@RequestMapping注解的方法上使用@CrossOrigin注解,可以在特定的方法上启用跨域请求。例如,@CrossOrigin注解可以添加到@RequestMapping注解的方法上,如@RequestMapping(value = "/insertUser2", method = RequestMethod.POST)所示,以允许来自任何来源的POST请求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [springboot下跨域解决的四种方法](https://blog.csdn.net/qq_15351167/article/details/89284397)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [SpringBoot教程(七) | SpringBoot解决跨域问题](https://blog.csdn.net/lsqingfeng/article/details/122614630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
@CrossOrigin(origins
@CrossOrigin(origins)是一个Spring注解,用于配置跨域请求的允许的源。origins参数用于指定允许的源列表,可以具体指定某个源,比如"https://domain1.com",也可以使用通配符"*"表示允许所有的源。
然而,有几个原因可能导致@CrossOrigin注解不起作用。首先,要使用@CrossOrigin注解,需要确保你的Spring MVC版本是4.2或以上版本才支持该注解。其次,如果跨域请求问题实际上并不是由@CrossOrigin注解引起的,而是由于请求本身不正确导致的无法得到预期的响应,浏览器会提示跨域问题。最后,即使在Controller注解上添加了@CrossOrigin注解,仍然出现跨域问题时,解决方案之一是检查CORS配置并使用@CrossOrigin属性进行定制。
总结起来,@CrossOrigin(origins)允许配置跨域请求的允许的源,但要注意以上提到的一些可能导致@CrossOrigin注解不起作用的原因。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [SpringBoot中的@CrossOrigin注解](https://blog.csdn.net/weixin_46223196/article/details/120046258)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [跨域问题--@CrossOrigin](https://blog.csdn.net/weixin_44561456/article/details/107809647)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]