我正在从Angular2应用程序调用ASP.NET MVC Web API控制器操作。我可以接受这样的调用对象:
[Route("api/getItems")]
[HttpPost]
public ReturnObject GetItems(DateRangeVM dateRange){
}
但是,我不想做一个帖子,我希望它是一个get,所以当我从angular 2调用这个时,我想要这样的东西:
return this.http.post(this.API_URL_BASE + '/api/getItems', dateRange, defaultOptions).map((response: Response) => {
return <any[]>response.json();
}).catch(this.handleError);
}
但实际上更像这样:
return this.http.get(this.API_URL_BASE + '/api/getItems', dateRange, defaultOptions).map((response: Response) => {
return <any[]>response.json();
}).catch(this.handleError);
}
但是,最后一个选项不接受数据作为第二个选项。我不想将数据作为字符串参数传递,因为当数据变得更复杂时,这太混乱了。
最佳答案
使用fromuri属性将查询字符串绑定到复杂对象。Angular需要将类的每个属性作为查询字符串参数发送。
public ReturnObject GetItems([FromUri] DateRangeVM dateRange){
}