在Angular前端代码中添加HttpHeaders以发送请求,同时向后端请求添加注解以解决CORS问题。
Angular示例代码:
import { HttpClient, HttpHeaders } from '@angular/common/http';
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json', // 定义请求的数据格式
'Access-Control-Allow-Origin': '*', // 允许所有源访问接口
'Access-Control-Allow-Methods': 'POST', // 允许POST请求
'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token, Authorization, accept, client-security-token' // 允许请求头携带的参数
})
};
this.http.post(url, data, httpOptions).subscribe( res => {
console.log(res);
});
Spring后端示例代码:
@CrossOrigin(origins = "*", allowedHeaders = "*", methods = {RequestMethod.POST})
@RestController
public class Controller {
@PostMapping("/api")
public ResponseEntity> apiCall(@RequestBody Object obj) {
// 处理请求
return ResponseEntity.ok().build();
}
}