若依框架外部系統跨域訪問API接口


@ApiOperation("獲取店鋪列表")
@GetMapping("/list")
//加此注譯解決跨域訪問
@CrossOrigin
public AjaxResult StoreList()
{
List userList = storesService.selectStoresList(new Stores());
return AjaxResult.success(userList);
}

解決:單個控制器方法實測可行。(其它二種暫時測試出錯)

如何配置允許跨域訪問
現在開發的項目一般都是前后端分離的項目,所以跨域訪問會經常使用。
1、單個控制器方法CORS注解

@RestController@RequestMapping("/system/test")public class TestController {

@CrossOrigin
@GetMapping("/{id}")
public AjaxResult getUser(@PathVariable Integer userId) {
// ...
}
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId) {
// ...
}}

2、整個控制器啟用CORS注解

@CrossOrigin(origins = "http://ruoyi.vip", maxAge = 3600)@RestController@RequestMapping("/system/test")public class TestController {

@GetMapping("/{id}")
public AjaxResult getUser(@PathVariable Integer userId) {
// ...
}
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId) {
// ...
}}

3、全局CORS配置(在ResourcesConfig重寫addCorsMappings方法)

/**

  • web跨域訪問配置
    /@Overridepublic void addCorsMappings(CorsRegistry registry){
    // 設置允許跨域的路徑
    registry.addMapping("/**")
    // 設置允許跨域請求的域名
    .allowedOrigins("
    ")
    // 是否允許證書
    .allowCredentials(true)
    // 設置允許的方法
    .allowedMethods("GET", "POST", "DELETE", "PUT")
    // 設置允許的header屬性
    .allowedHeaders("*")
    // 跨域允許時間
    .maxAge(3600);}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM