前端的Angular代码中使用HttpClient发送请求获取数据,新增的请求是:
var requestUrl = 'http://localhost:8085/femis/unitInsertSimple/'+ unit;
this.http
.get(requestUrl)
.subscribe(data=>this.searchData());//searchData()是获取全部数据的方法
后面拼接的unit是string类型,Java端接受该请求的Controller中的代码是:
@GetMapping("/unitInsertSimple/{unit}")
public String insert(@PathVariable("unit") String unit) {
return service.insert(unit);
}
该Controller类的头上使用了注解:@CrossOrigin,和注解@RestController
上面的新增请求测试通过的,成功向DB中添加了一笔数据
下面说说有问题的请求 - 修改请求 :
Angular中的修改请求是:
var requestUrl = 'http://localhost:8085/femis/unitUpdateByPrimaryKey/' + model;
this.http.get(requestUrl).subscribe(data=>this.searchData());
url中后面拼接的model是模型对象,其代码是:
export class Unit {
constructor(
public sId:string
){}
}
Java端处理该请求的方法是:
@GetMapping("/unitUpdateByPrimaryKey/{unit}")
public String updateByPrimaryKey(@PathVariable("unit") Unit unit) {
return service.updateByPrimaryKey(unit);
}
上面 的Java代码中的Unit是模型类,执行修改请求在浏览器中报错如下:
已拦截跨源请求:同源策略禁止读取位于 http://localhost:8085/femis/unitUpdateByPrimaryKey/[object%20Object] 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。
希望得到的帮助:
慕容708150
相关分类