CrossOrigin注解没有生效,解决方案集合

一:跨域(CORS)支持

Spring Framework 4.2 GA为CORS提供了第一类支持,使您比通常的基于过滤器的解决方案更容易和更强大地配置它。所以springMVC的版本要在4.2或以上版本才支持@CrossOrigin

二:@CrossOrigin注解的使用位置

1)在controller类上使用,对所有controller中的所有方法都生效

@Controller
@CrossOrigin
public class MyController {

}

三:在Controller中的方法上使用,只对该方法生效

@CrossOrigin
@RequestMapping(value = "/test",method = RequestMethod.POST)
public void test(@RequestBody TestRequest testRequest){
    
}

四:使用@CrossOrigin注解后不能跨域访问的解决办法

1)情况一:在方法上使用@CrossOrigin注解,但@RequestMapping注解中没有指定Get、Post方式,通过method = RequestMethod.POST/GET指定或者指定@CrossOrigin注解中的methods = {RequestMethod.POST}后,问题解决。

#在@CrossOrigin中methods指定方式
@CrossOrigin(methods = {RequestMethod.POST})

#或者@RequestMapping注解定义method
@RequestMapping(value = "/test",method = {RequestMethod.POST})

 其他的几种情况,和情况一的详细解释请参考:CrossOrigin注解没有生效,解决方案集合[No.036]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章