【发布时间】:2018-07-07 17:13:03
【问题描述】:
我真的看不出我在这里做错了什么。我正在尝试调用一个通过HttpClient 接受整数的asp.net 核心web api 方法,但它返回404 错误。
HospitalController(网络 API)
[HttpGet("{id}")]
[Route("GetById")]
public JsonResult Get(int id)
{
return Json(_hospitalService.Get(id));
}
HospitalController (MVC)
protected string url = "http://localhost:5001/api/Hospital";
[HttpGet]
public async Task<IActionResult> Edit(int id)
{
if (id.Equals(0))
return StatusCode(404);
var accessToken = await HttpContext.GetTokenAsync("access_token");
client.SetBearerToken(accessToken);
HttpResponseMessage responseMessage = await client.GetAsync(url + "/GetById/" + id); //returns 404 error here.
if (responseMessage.IsSuccessStatusCode)
{
var responseData = responseMessage.Content.ReadAsStringAsync().Result;
var hospital = JsonConvert.DeserializeObject<Hospital>(responseData);
var hospitalVM = Mapper.Map<HospitalViewModel>(hospital);
return View(hospitalVM);
}
return View("Error");
}
我在 MVC 中的同一控制器中有一个有效的 POST 方法。但是这个 GET 方法返回 404,我似乎不知道为什么。
【问题讨论】:
标签: c# asp.net-core asp.net-core-mvc asp.net-core-webapi asp.net-core-routing