我有一个带控制器的Web API服务,如下所示。
RoutePrefix("api/Product")]
public class ProductController : ApiController
{
[HttpPost]
[POST("InsertProduct")]
public HttpResponseMessage InsertProduct(ProductDetail product)
{
//logic
}
[HttpGet]
[GET("Item/{itemId}/{itemtypeid}")]
public List<ProductDetail> GetProduct(int itemId, long itemtypeid)
{
//logic
return response;
}
}
此处 GET 请求来自邮递员工具(chrome Rest服务测试人员网址)以及客户端(请参阅下文) 。使用Postman工具, POST 请求可以正常工作。但是,当我从客户端尝试相同的代码时,我收到以下错误 &#34; StatusCode:404,ReasonPhrase:&#39;找不到&#39; &#34;。
客户端代码:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost/ProductService/");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
string serializedContent = JsonConvert.SerializeObject(new ProductDetail());
StringContent stringContent = new System.Net.Http.StringContent(serializedContent, Encoding.UTF8, "application/json");
HttpResponseMessage response = client.PostAsJsonAsync<ProductDetail>("api/Product/InsertProduct", new ProductDetail()).Result;
同样的请求如何从任何外部工具起作用,但不能在httpclient中起作用。
请帮助我。