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]

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