我使用ASP.NETCore5技术作为后端,使用Angular15.0作为前端。
后端控制器获取一些过滤项的动作如下所示:
[HttpGet("getAllCustomerPaymentsByDateRange")]
public async Task<IActionResult> GetAllCustomerPaymentsByDateRange([FromQuery] DateTime firstDate,[FromQuery] DateTime endDate,[FromQuery] long customerId )
{
// ... rest of code
}
我想将这些参数从Angular服务中的方法传递给操作:
getAllCustomersByDateRange(???): Observable<PaymentForList[]> {
return this.http.get<PaymentForList[]>(this.baseUrl + '/getAllCustomerPaymentsByDateRange/', ???);
}
如何将ASP.NET核心控制器操作正确接收的参数传递给Angular方法?我尝试将参数作为模型传递,另一端将其作为([FromBody] ModelParams params)
接收,但在Angular端出现错误:
无法分配PaymentForList[]|数组缓冲区到支付列表[]....
有别的办法吗?
1条答案
按热度按时间gcmastyq1#
不建议像HTTP GET with request body中所讨论的那样,将带有主体的请求发送到
GET
API。要传递查询参数,应使用HttpParams。
参考HttpClient.get()重载#15。