2014-09-18 207 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继承?你能从本地机器上的浏览器中点击网址吗?

相关问题