【发布时间】:2018-06-27 15:30:42
【问题描述】:
以下是调用 Web API 调用的代码
public async System.Threading.Tasks.Task<ActionResult> RequisitionNameByQuantityThisDraw()
{
//Guid applicationRequisitionOid
string userName = string.Empty;
SessionObject sessionData = new SessionObject().GetSessionData();
if (sessionData == null)
{
return RedirectToAction("UserLogin", "Login");
}
Guid aa = new Guid("41CF8843-2AF4-40D0-9998-D6D516367A7D");
HttpResponseMessage response = _HttpClient.GetAsync("api/ApplicationSIRMeasure/RequisitionNameByQuantity?applicationRequisitionOid=" + aa).Result;
string userJsonString = await response.Content.ReadAsStringAsync();
return Json(userJsonString, JsonRequestBehavior.AllowGet);
}
以下是 Web API 方法
public HttpResponseMessage Get(Guid applicationRequisitionOid)
{
var result = _IService.GetAll(applicationRequisitionOid);
if (result == null)
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "No data found");
else
return Request.CreateResponse(HttpStatusCode.OK, result);
}
[Route("api/ApplicationSIRMeasure/RequisitionNameByQuantity/{applicationRequisitionOid:Guid}")]
public HttpResponseMessage RequisitionNameByQuantity(Guid applicationRequisitionOid)
{
Guid id = new Guid("41CF8843-2AF4-40D0-9998-D6D516367A7D");
var result = _IService.GetRequisitionByQunatityThisDraw(id);
if (result == null)
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "No data found");
else
return Request.CreateResponse(HttpStatusCode.OK, result);
}
每当我使用上述代码调用此 Web API 时,它都会转到第一个 get 方法。 但我不会调用第二种方法
【问题讨论】:
-
第一种方法(
Get(Guid applicationRequisitionOid))上面的[Route]属性是什么?
标签: c# asp.net asp.net-mvc-4 asp.net-web-api asp.net-web-api-routing