Web 中的自定义路由 Api 2 以使用 angular 应用程序调用
Custom route in Web Api 2 to call with angular app
所以我设置了 Web Api 2 并从 Angular 5 进行了 restful 调用。 400 错误。有人可以透露一点光吗?谢谢
Web API 端:
[Route("api/ViewAllRecords/GetApprovalRecords/{ upn }")]
public IQueryable GetViewAllRecordsForMgrApproval([FromBody]string upn)
{
var set = db.ViewAllRecords.Where(record => record.ApproverUPN ==
upn).AsQueryable();
return db.ViewAllRecords;
}
Angular 边:
GetRecordForApproval(upn) {
return this.http.get(environment.apiUrl + '/ViewAllRecords/GetApprovalRecords', { params: {
upn : upn
}});
}
相关操作的定义存在一些问题。
[FromBody]
无法处理 HTTP GET 请求,因为它们没有 BODY
//GET api/ViewAllRecords/GetApprovalRecords/upn_value_here
[HttpGet]
[Route("api/ViewAllRecords/GetApprovalRecords/{upn}")]
public IQueryable GetViewAllRecordsForMgrApproval(string upn) {
var set = db.ViewAllRecords.Where(record => record.ApproverUPN == upn).AsQueryable();
return db.ViewAllRecords;
}
其次,您在定义 URL 的路由模板中有 upn
,但客户端未调用与模板匹配的 URL。
更新从客户端调用的URL
GetRecordForApproval(upn) {
var url = environment.apiUrl + '/ViewAllRecords/GetApprovalRecords/' + upn;
return this.http.get(url);
}
所以我设置了 Web Api 2 并从 Angular 5 进行了 restful 调用。 400 错误。有人可以透露一点光吗?谢谢
Web API 端:
[Route("api/ViewAllRecords/GetApprovalRecords/{ upn }")]
public IQueryable GetViewAllRecordsForMgrApproval([FromBody]string upn)
{
var set = db.ViewAllRecords.Where(record => record.ApproverUPN ==
upn).AsQueryable();
return db.ViewAllRecords;
}
Angular 边:
GetRecordForApproval(upn) {
return this.http.get(environment.apiUrl + '/ViewAllRecords/GetApprovalRecords', { params: {
upn : upn
}});
}
相关操作的定义存在一些问题。
[FromBody]
无法处理 HTTP GET 请求,因为它们没有 BODY
//GET api/ViewAllRecords/GetApprovalRecords/upn_value_here
[HttpGet]
[Route("api/ViewAllRecords/GetApprovalRecords/{upn}")]
public IQueryable GetViewAllRecordsForMgrApproval(string upn) {
var set = db.ViewAllRecords.Where(record => record.ApproverUPN == upn).AsQueryable();
return db.ViewAllRecords;
}
其次,您在定义 URL 的路由模板中有 upn
,但客户端未调用与模板匹配的 URL。
更新从客户端调用的URL
GetRecordForApproval(upn) {
var url = environment.apiUrl + '/ViewAllRecords/GetApprovalRecords/' + upn;
return this.http.get(url);
}