我調用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