Angular调用springboot后端不起作用

时间:2019-11-07 07:01:53

标签: java angular rest api

我有以下设置: 角度法:

assignPrivilegesToRole(id: number, privlist: Privilege[]): Observable<any> {
    return this.http.get(`${this.baseUrlPriv}/assignprivs/${id}/${privlist}`);
  }

Springboot:

@GetMapping("/privileges/assignprivs/{id}/{privlist}")
    public boolean assignPrivilegesToRole(@PathVariable(value = "id") Long roleId,
            @PathVariable(value = "privlist") List<Privilege> privList) {
       //testing purpose
        return true;
    }

在此设置中,角度无法到达弹簧罩。如果我进行相同的设置,但仅使用Id参数,它将到达后端。 关于如何发送ID和对象列表到后端的任何建议? 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

SB代码很好。

您必须检查您的请求,对我来说,问题似乎是privlist: Privilege[]。这必须在字符串后加上[]大括号,从而导致请求失败。

您的请求应如下所示:

  

localhost:8080 / pathVarTest / ed / test,rest

即逗号分隔,列表类型路径变量上没有大括号。

  

理想情况下,在这种情况下,您应该进行POST调用,并将列表作为POST正文传递。