Angular 从后端到前端获取值
我在后端(Spring boot)有一个post方法,当我发布数据时,它返回Angular 从后端到前端获取值,angular,spring-boot,Angular,Spring Boot,我在后端(Spring boot)有一个post方法,当我发布数据时,它返回id @RequestMapping(value="/fncs", method=RequestMethod.POST) public int addFnc(@RequestBody Fnc fnc){ fncservice.addFnc(fnc); return fnc.getN_fnc(); } 我想在angular service中创建一个返回i
id
@RequestMapping(value="/fncs", method=RequestMethod.POST)
public int addFnc(@RequestBody Fnc fnc){
fncservice.addFnc(fnc);
return fnc.getN_fnc();
}
我想在angular service中创建一个返回id
(编号)的函数,我尝试了这个函数,但没有成功
const baseUrl = 'http://192.168.100.9:8081/fncs';
create(data): Observable<any> {
return this.http.post(baseUrl, data);
}
const baseUrl='1〕http://192.168.100.9:8081/fncs';
创建(数据):可观察的这应该适用于您的情况。但是,直接从RESTAPI返回整数并不是最佳实践。你应该考虑在JSON对象中添加它。
create(data): any {
this.http.post(baseUrl, data, { responseType: 'text'})
.subscribe((res) => {
//response will be parsed as text and we need to convert it to int
const resInt = + res;
console.log(resInt);
return resInt;
},
(error) => {
console.log(error);
}
)
}
我怀疑你需要它,因为它在这里。但是,您可以检查在看到响应的情况下这是否有效。实际上,您不需要在服务上使用subscribe方法,而需要在任何您想对响应执行操作的地方使用subscribe方法。因此,现在当我从服务调用create methode时,她将为我返回号码?@HamzaNouri Logic wise,如果您在设置后返回值,则应该是。我现在自己无法实现它,所以请执行它并检查.data.id其中的id是后端返回号中的all方法,我不知道“t发送一个名为idy的变量。您可以记录返回的数据,然后决定要返回什么。让我们来看看。您的代码中有很多错误,您定义了返回observable的函数,然后返回resInt(类型为int,未定义)。是的,谢谢。我并没有编译它,只是为了指出它将如何工作而快速编写它。现在我已经纠正了它。有一个prblm错误:错误没有重载匹配此调用。上一次重载导致以下错误。类型为“(error:any)=>number”的参数不能分配给类型为“()=>void”的参数。ts(2769)可观察。d.ts(54,5):最后一个重载在这里声明。我已经更新了答案。试试这一个仍然相同的prblm:Argument类型'(error:any)=>number'不能分配给参数类型'(err:any,catch:Observable)=>ObservableInput'。类型“number”不可分配给类型“ObservableInput”。ts(2345
create(data): any {
this.http.post(baseUrl, data, { responseType: 'text'})
.subscribe((res) => {
//response will be parsed as text and we need to convert it to int
const resInt = + res;
console.log(resInt);
return resInt;
},
(error) => {
console.log(error);
}
)
}