参数未从Angular传递到API

时间:2018-04-16 17:41:46

标签: angular asp.net-core

我在这里缺少什么?

我的Take和Skip变量包含值,但是当我在API端检查参数为空时。

我的API

[HttpGet(Order = 0)]  
    public async Task<IActionResult> GetData(uint? Take, uint? Skip)
    {
     // DO stuff
    }

对API的Angular调用:

getData(    
    skip: number = null,
    take: number = null
  ): Observable<MyData[]> {
    console.log("skip=" + skip);
    console.log("take=" + take);
    return this.http
      .get(this.API_URL + "", {
        params: new HttpParams()
          .set('Skip', (skip == null) ? null : skip.toString())
          .set('Take', (take == null) ? null : take.toLocaleString())

      })
      .map((response: Response) => {
        return <MyData[]>response.json();
      })
      .catch(this.handleError);
  }

1 个答案:

答案 0 :(得分:-2)

使用HttpModule替换旧的,已弃用HttpClientModule的引用,然后将Http替换为HttpClient并修改代码以删除地图运算符(新的http不需要)客户端)

return this.http
  .get<MyData[]>(this.API_URL + "", {
    params: new HttpParams()
      .set('Skip', (skip == null) ? null : skip.toString())
      .set('Take', (take == null) ? null : take.toLocaleString())
})
  .catch(this.handleError);