【发布时间】:2020-05-12 05:36:39
【问题描述】:
当我尝试将参数从 android 发布到 asp.net web api 时,我得到了 file not found 异常。但是同样的 web api 正在与邮递员一起工作。请建议我应该在哪一部分更正?
Android 代码是:
public String CallWebAPI()
{
OkHttpClient client = new OkHttpClient();
RequestBody formBody = new FormBody.Builder()
.add("name", "Rahul")
.build();
Request request = new Request.Builder()
.url("http://www.xxxx.co/testapi/TestNameWEBApi")
.post(formBody)
.build();
Call call = client.newCall(request);
Response response = null;
try {
response = call.execute();
Log.e("ATTEST", "App1 Error is :" + response.toString());
} catch (IOException e) {
Log.e("ATTEST", "App1 IOException is :" + e.toString());
e.printStackTrace();
}
return response.toString();
}
而 webAPI 是:
[RoutePrefix("testapi")]
[Route("TestNameWEBApi"), HttpPost]
public HttpResponseMessage TestNameWEBApi(string name)
{
try
{
var Response = name;
var Result = this.Request.CreateResponse(HttpStatusCode.OK, Response, new JsonMediaTypeFormatter());
return Result;//return same parameter to check if the value is reaching here or not
}
catch (Exception ex)
{
HttpError Error = new HttpError(ex.Message) { { "IsSuccess", false } };
return this.Request.CreateErrorResponse(HttpStatusCode.OK, Error);
}
}
【问题讨论】:
-
你的控制器上有路由吗?
-
yes RoutePrefix 设置为 testapi
-
检查你的类是否继承 Controller 或者 webApi 是否继承自 ApiController
标签: android asp.net post asp.net-web-api http-status-code-404