java - Android 中 Web API 的异常处理

标签 java c# android asp.net-web-api2 okhttp

我在 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() 方法返回一个 Response 对象,该对象具有用于查找状态代码的 code() 方法,并且isSuccessful()方法判断code是否在[200,300)范围内,一般代表成功。

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

关于java - Android 中 Web API 的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48484318/

相关文章:

java - 在插入子实体之前更新父实体

java - 是否可以使用 JAXB 从模式映射到 java.util.Map?

java - Java 中的 FTP 单元测试(JSch 和 MockFtpServer)

android - 无法运行安卓应用

android - 使用 NEON 内在函数除以 float

java - 如何在Android中使用Canvas Paint在圆弧顶部绘制线条路径

c# - 使用 count() 优化 linq 查询

c# - Monotouch 绑定(bind)使我的应用程序变得巨大

c# - svcutil NOT 为 minOccurs=0 生成指定字段

Android - SQLite 数据库 - 应用程序更新