【发布时间】:2024-01-19 23:01:01
【问题描述】:
我正在尝试调用我的 web api。
这是 api 控制器:
public class CustomerController : ApiController
{
[HttpGet]
[Route("Customer/Get/{CompanyRef}")]
public IEnumerable<Services.Customer> Get(Guid CompanyRef)
{
return customerRepository.Get(CompanyRef);
}
}
这是我的客户 (c#desktop)
using (HttpClient httpClient = new HttpClient())
{
Uri uri = new Uri("myuri");
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await httpClient.GetAsync(uri + route + "?CompanyRef=" + new Guid());
response.EnsureSuccessStatusCode();
}
uri 调用转换为:
http://myuri/api/Customer/Get?CompanyRef=00000000-0000-0000-0000-000000000000
我得到的错误是“未找到”?
【问题讨论】:
-
“api”是在哪里定义的?
-
没有看到您的 webapi 配置,uri 似乎是:myuri/api/Customer/Get/00000000-0000-0000-0000-000000000000
-
@BigDaddy 嗨,我已经添加了类名/路径。它是一个 MVC5 网络应用程序。你是这个意思吗?
-
您需要确保您的 Web API 路由以“/api”为前缀。否则,您的 MVC 调用将失败。
-
应该试一试:)
标签: c# httpclient asp.net-web-api2 asp.net-web-api-routing