【发布时间】:2015-05-04 11:42:44
【问题描述】:
如果这个问题看起来微不足道,但我对 WebAPI 不熟悉,我深表歉意
让客户端访问 Put Methods。
这是我的 WebAPI 方法
public class TestController : ApiController
{
[HttpPut]
public HttpResponseMessage Put(string id)
{
var response = new HttpResponseMessage();
response.Headers.Add("Message","Success");
return response;
}
}
路由配置
//configure the webapi so that it can self host
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{Controller}/{action}/{id}",
defaults: new {id = RouteParameter.Optional }
);
客户
var baseAddress="http://localhost:8000/";
var client= new HttpClient {BaseAddress = new Uri(baseAddress)};
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.PutAsJsonAsync(baseAddress+"Test", "TestParam").Result;
Console.WriteLine(response.Content);
当我运行上面的代码时。 由于某种原因,我收到 404 错误,这意味着客户端无法联系 webapi 方法。
我有三个问题。
1.如何确保客户端可以正确调用web api方法。
2. 可以直接从url调用方法吗?
我试过http://localhost:8000/test/Dummy,但没有运气。
3. 如果可以调用该方法,我如何确保消息显示在“成功”的页面上。
【问题讨论】:
标签: c# asp.net .net rest asp.net-web-api