我正在使用Spring Data REST構建一個RESTful API。到目前爲止,我的這個RESTful服務的HTML GUI來自同一個Tomcat,並且我沒有發現Cross Origin請求的問題。Spring Data REST CORS - 如何處理預檢選項請求?
現在我想提供來自不同服務器的靜態文件。這意味着API在另一個域/端口上。瀏覽器將發送OPTIONS請求以從服務器獲取訪問控制標題。不幸的是春天的數據REST不處理這些選項的請求,甚至返回一個HTTP 500
我試圖創建一個處理所有選項的定製控制器請求
@Controller
@RequestMapping(value = "/**", method = RequestMethod.OPTIONS)
public class OptionsController {
@RequestMapping
public ResponseEntity options() {
return new ResponseEntity<Void>(HttpStatus.OK);
}
}
這對於OPTIONS工作,但後來所有其他請求(像GET)停止工作。
通過dispatchOptionsRequest調度程序servlet參數打開OPTIONS請求。
您是否嘗試過Tomcat的CORS過濾器? –
不是。該問題在下一個版本的SDR中得到解決。 我們只是使用反向代理將請求映射到相同的域和端口。 – FrontierPsychiatrist