请求响应头解决
@RestController
public class StudentController {
@Autowired
private StudentService studentService;
@GetMapping("/api/students")
@CrossOrigin("http://localhost") //返回 Access-Control-Allow-Origin 头,允许http://localhost源此响应,使用*代表所有源可以使用
public R all() {
return R.ok(studentService.findAll());
}
}
代理解决
npm install http-proxy-middleware --save-dev
在 express 服务器启动代码中加入
import {createProxyMiddleware} from 'http-proxy-middleware'
// ...
app.use('/api', createProxyMiddleware({ target: 'http://localhost:8080', changeOrigin: true }));
fetch 代码改为
const resp = await fetch('http://localhost:7070/api/students')
或
const resp = await fetch('/api/students')