我的后端有一个post方法,有2个好友可以发布:
@PostMapping("/final")
public Template editTemplate (@Valid @RequestBody Template temp , @Valid @RequestBody
ComponentLinechart lchart) {
return service.editTemplate(temp, lchart);
}
我想在前端(7号角)中调用此函数,但它不接受两个伙伴,我这样称呼它:
editTemplate(Temp : Template ,Data: ComponentLinechart): Observable<Template, ComponentLinechart> {
return this.http.post<Template, ComponentLinechart>(this.baseUrl + '/config/final' , Temp, Data )
}
但是它给了我一个语法错误!我怎么称呼它?
这是因为Angular中的httpClient
接受了请求有效载荷形式的第二个参数,而第三个参数作为请求选项。
尝试以下方法:
editTemplate(Temp : Template, Data: ComponentLinechart): Observable<Template> {
return this.http.post<Template>(this.baseUrl + '/config/final', {Temp, Data});
}
这样,您的请求主体将变成这样的JSON:
{
"Temp": ...,
"Data": ...
}
请确保在后端正确接受。我不确定Spring Boot是否可以解析两个自@RequestBody
来的参数。毕竟,HTTP请求中只能有一个请求正文。