我正在从 Angular 2 应用程序调用 asp.net mvc web api Controller 操作。我可以像这样接受来自调用的对象:
[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 属性将查询字符串绑定(bind)到复杂对象。 Angular 需要将类的每个属性作为查询字符串参数发送。
public ReturnObject GetItems([FromUri] DateRangeVM dateRange){
}
关于angular - 如何将非字符串相关数据传递到获取请求 web api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44497519/