Web API Android 中的异常处理

Exception Handling In Android from Web API

我在 MVC 中的代码 API C# 这个:

    [System.Web.Http.HttpPost]
    [System.Web.Http.Route("api/ServiceV1/Test")]
    public IHttpActionResult Test()
    {
        return BadRequest("Catch this message in Android application");
    }

PostMan 中的结果

{
    "Message": "Catch this message in Android application"
}

我在 android 应用程序上收到此错误消息。我用的okhttp3.

    String MIME_JSON = "application/json";
    Gson gson = new Gson();
    RequestBody body = RequestBody.create(MediaType.parse(MIME_JSON), gson.toJson(object));

    Request request = new Request.Builder()
            .url(baseUrl + route)
            .post(body)
            .build();

    okHttpClient.newCall(request).execute();

如何在 Android 应用程序上捕获此消息?

Call.execute()方法returns一个Response对象,其中有code()方法查找状态码,isSuccessful()方法查找代码是否在[200,300)范围内,一般代表成功

通常查看您正在使用的库的文档是有帮助的。 Here's the documentation for okhttp

可以读取这个错误:

Response response=okHttpClient.newCall(request).execute();
if (response.code() != 200) {
  errorMessage= response.body().string();
}