typescript Angular Http GET调用将数组作为参数传递给API

xmq68pz9  于 2022-12-14  发布在  TypeScript
关注(0)|答案(3)|浏览(197)

嗨,我是Angular 的新手,因此在一个地方卡住了。我需要将数组作为参数传递给后端API后端API需要字符串数组作为参数

const params = new HttpParams();
 const depKey = ['deploymentInprogress', 'deploymentMessage'];
 params.append('depKey', JSON.stringify(depKey));

 this.http.get(uri, { params: params })
      .pipe(
        take(1),
        catchError((error) => {
          return throwError(error);
        })
      ).subscribe(data => {

   })

上面的代码不起作用需要帮助我不确定如何将字符串数组作为参数传递给后端API

cnh2zyt3

cnh2zyt31#

您可以执行以下操作:

const params = new HttpParams();
 const depKey = ['deploymentInprogress', 'deploymentMessage'];
 params.append('depKey', depKey.join(', ');

 this.http.get(uri, { params: params }).....
plicqrtu

plicqrtu2#

您可以使用相同的参数名称分别发送数组值,然后API可以读取各个值!

const params = new HttpParams();
 const depKey = ['deploymentInprogress', 'deploymentMessage'];
 depKey.forEach((item: any) => {
     params.append('depKey', item);
 });

 this.http.get(uri, { params: params })
      .pipe(
        take(1),
        catchError((error) => {
          return throwError(error);
        })
      ).subscribe(data => {

   })
hkmswyz6

hkmswyz63#

您需要知道后端API的规范是什么,没有规范,就只能猜测如何让它工作。
大多数情况下,它将被编码在身体,这可以在可能的形式,例如:

{ 
   "key": "value",
   "items": [
      {"aaa":"bbb","ccc":"dddd"},
      {"aaa":"fff","ccc":"hhhh"}
   ]
}

但请注意:这只是其中一种方法!
如果您能分享您的规格,我们可以帮助您。
也许你有一个 Postman 的例子,关于如何调用端点?

相关问题