【发布时间】:2020-09-16 16:50:56
【问题描述】:
我正在尝试在获取请求中将 ID 列表发送到服务器,我正在做 以下:
public loadTripsByIds(tripsIds:number[]): Observable<any> {
let params = new HttpParams();
params = params.append('tripsIds', tripsIds.join(', '));
return this.http.get<TripObj[]>(`${this.baseUrl}/Trips/ByIds/Get`, {params: params});
}
在服务器 api 代码(rest)中我定义了列表:
@GET
@Path("Trips/ById/Get")
@Produces("application/json")
public List<Trips> loadTripsById(@QueryParam("tripsIds") final List<String> tripsIds) {
我实际上在服务器中得到的是一个包含 1 个项目(字符串类型)的列表 逗号分隔。例如“10001, 10002”。 我可以轻松地解析服务器端的字符串,但要寻找正确的 将列表发送到每个元素都是 id 的服务器的方法。
谢谢。
【问题讨论】:
-
这纯粹是一个后端问题。请更新您的问题以解释后端是什么,您正在使用什么 Java 框架并为此更新标签。您将获得比仅仅标记为 Angular 更好的帮助。谢谢,
-
在支持的我有正确的代码 O 认为因为我期望的列表,问题是 angualr 没有正确发送列表
-
那么:
loadTripsByIds输入参数是什么,发出的请求是什么样的,它应该是什么样的? -
fundsIds.join(', ') 创建一个我可能需要更改但不确定要更改的字符串
-
如果您按原样附加数组,则应该按预期工作。参数序列化应该处理它:
params.append('tripsIds', tripsIds)
标签: angular