版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34579060/article/details/89712654
package com.song.songvue.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* Java编码定义
*/
@Configuration
public class MyWebConfig implements WebMvcConfigurer{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}
/**
* 添加全局的配置 允许跨域请求
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/testCors/**")
.allowedHeaders("*")
.allowedMethods("*")
.maxAge(1800)
.allowedOrigins("http://localhost:8090");
}
}
指定到方法级别
package com.song.songvue.test;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
* 测试CORS 跨域请求
*/
@RestController
@RequestMapping("/testCors")
public class TestCors {
/**
* @CrossOrigin
* value 表示支持的域
* maxAge 表示探测请求的有效期 1800秒
* allowedHeaders : * 表示所有的请求头都被允许
*/
@PostMapping("/getData")
@CrossOrigin(value = "http://localhost:8090", maxAge = 1800, allowedHeaders = "*")
public String addBook(String name) {
return "server: " + name;
}
@DeleteMapping("/{id}")
@CrossOrigin(value = "http://localhost:8090", maxAge = 1800, allowedHeaders = "*")
public String deleteBookById(@PathVariable String id) {
return id;
}
}