2014-09-18 95 views
0

我無法用android中的params調用web api。我可以沒有params,所以問題可能是我如何發送params或我如何得到它們。在控制器'Foo'上找不到與請求匹配的操作

下面的代碼提供此錯誤:

沒有行動控制器「富」與請求匹配上找到。

的Android

ArrayList<NameValuePair> params = new ArrayList<NameValuePair>(); 
params.add(new BasicNameValuePair("token", session.getAccessToken())); 

json = restClientService.getResponseAsJSON("http://192.168.2.242/WebApi/api/fbfeed/foo/", params); 

-

private HttpResponse getWebServiceResponse(String URL, 
     ArrayList<NameValuePair> params) { 
    HttpResponse httpResponse = null; 
    try { 
     HttpParams httpParameters = new BasicHttpParams(); 

     // defaultHttpClient 
     DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); 
     HttpPost httpPost = new HttpPost(URL); 
     try { 
      httpPost.setEntity(new UrlEncodedFormEntity(params)); 
     } catch (UnsupportedEncodingException e) { 
     } 
     httpResponse = httpClient.execute(httpPost); 

配置

config.Routes.MapHttpRoute(name: "UserCreateApi", routeTemplate: "api/{controller}/{action}", defaults: new { action = "Foo" }); 

控制器

[AcceptVerbs("GET", "POST")] 
public IHttpActionResult Foo([FromBody]string token) 
{ 
    //some code 
} 
+0

而不是使用AcceptVerbs,你試過只是做[HttpGet,HttpPost]? – grimurd 2014-09-23 11:23:22

回答

0

您的控制器是否從ApiController繼承?你能從本地機器上的瀏覽器中點擊網址嗎?

相關問題