我可以使用postman在spring boot中成功发送一个post请求到我的restcontroller。
restvtroller如下:
@RequestMapping(value="/performaction",method=RequestMethod.POST,consumes = "application/json", produces = "application/json")
public void performReboot(@RequestBody PerformAction performAction) {
System.out.println("......rebooting blade to performRebootservice...........for blade id :: : ::"+performAction.getBladeId() +performAction.getActionName());
..........
}
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*");
}
};
}
但是我无法从我的角度发送此帖子请求,请求如下:
const headers = new HttpHeaders().set("Content-Type", "application/json");
return this.http.post(this.performactionUrl, {"bladeId" : 2,"actionName" : "reboot"},{headers});
注意:我已经从here添加了WebMvcConfigurer!
感谢。
答案 0 :(得分:2)
不使用subscribe
方法,您的api永远不会被调用。只需在组件中使用订阅方法。
答案 1 :(得分:0)
return this.http.post(this.performactionUrl, {"bladeId" : 2,"actionName" : "reboot"},{headers});
应该是 -
return this.http.post(this.performactionUrl, JSON.stringify({"bladeId" : 2,"actionName" : "reboot"}),headers);