发布两个有角的伙伴

问题描述 投票:-1回答:1

我的后端有一个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 spring-boot
1个回答
0
投票

这是因为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请求中只能有一个请求正文。

© www.soinside.com 2019 - 2024. All rights reserved.