我调用WebApi方法并将数据传递给它。在调试时,我可以看到我的控件转到WebAPI方法,但它没有收到我传递给它的正确参数数据。在调试时,我可以看到数据(字符串)正在传递给WebApi,但在下一步WebApi接收到null。是否需要一些配置来接收参数?请帮我在下面是我的代码:不正确的数据“空”正在传递给Web API?
public static string PostData(Uri url,string obj)
{
string data = null;
try
{
using (WebClient proxy = new WebClient())
{
proxy.Headers.Add(HttpRequestHeader.ContentType, "application/json");
data = proxy.UploadString(url,"Post",obj);
}
}
catch (Exception ex)
{
throw ex;
}
return data;
}
的WebAPI
[HttpPost]
public void Post([FromBody]string data)
{
leadOptService.AddListOptions(data);
}
的WebAPI Conifg:
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
感谢答复填满,我没有,但有错误“的远程服务器返回错误:(405)不允许的方法” 在调试控制中不会去WebApi。请帮助 – user576510 2014-10-02 05:56:16
我尝试过在Fidler中调用并接收这个messae“{”Message“:”请求的资源不支持http方法'POST'。“}” 在我的调用方法中,我也有“Post”。请指导。 – user576510 2014-10-02 06:03:27
在我看来,这个问题与路由无关,因为调用得到正确路由,它更多的是传递json数据和输入参数之间的模式不匹配 – 2014-10-02 06:18:09