Java 跨域 CrossOrigin註解 Filter攔截 Nginx配置

說明

  • 資源請求的發起方與請求的資源不在同一個域中的;
  • 通常的,只要網站的【協議名protocol】、【主機host】、【端口號port】這三個中的任意一個不一樣,網站間的數據請求與傳輸便構成了跨域調用;
  • 跨域請求可以達到服務端,可是返回結果會被瀏覽器攔截;

處理方式

一、filter處理器

通常的處理方法,在Filter中攔截請求,在請求頭中添加信息,例如:html

setHeader("Access-Control-Allow-Origin","*")

二、@CrossOrigin註解

一、Spring 4.2以後提供了跨域註解 @CrossOrigin;
二、能夠用在方法或Controller上;
三、Controller和方法上都有時,Spring會合並兩個註解的屬性一塊兒使用;java

[官方文檔]https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/CrossOrigin.htmlnginx

@CrossOrigin
@RequestMapping("/obtainJqxxListByPage")
public Map obtainJqxxListByPage(){}

註解屬性有如下7個web

String[] value() default {}
String[] origins() default {}
String[] allowedHeaders() default {}
String[] exposedHeaders() default {}
RequestMethod[] methods() default {}
String  allowCredentials() default {}
long maxAge() default -1L

三、Nginx配置解決跨域

相關文章
相關標籤/搜索