在控制器'Foo'上找不到与请求匹配的操作
问题描述:
我无法用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
}
答
您的控制器是否从ApiController继承?你能从本地机器上的浏览器中点击网址吗?
而不是使用AcceptVerbs,你试过只是做[HttpGet,HttpPost]? – grimurd 2014-09-23 11:23:22