我有一个xampp服务器连接到我的android应用程序。当我执行api调用时,它将返回响应代码200或响应代码400。如果响应码是200,我就能得到响应体。
下面是响应正文:
{"message": "User was created."}但是,当代码为400时,我无法获得响应体。
它是空的。
这是我的界面:
@POST("api/user/createUser.php")
suspend fun register(@Body details : JsonObject) : Response<JsonElement>我是这么称呼它的:
val service = Server.ApiClient.createService(ServerInterface::class.java)
CoroutineScope(Dispatchers.IO).launch {
try {
val response = service.register(details)
Log.wtf("Message",response.body().toString())
}
catch (e : Exception){
Log.wtf("Error",e.message)
}
}日志如下:
响应代码200:
E/Message: {"message":"User was created."}响应代码400:
E/Message: null有人知道怎么解决这个问题吗?
发布于 2021-01-12 22:53:59
如果我没记错的话,retrofit会将200-399范围之外的响应代码作为错误处理,所以消息应该是使用response.errorBody()而不是response.body()来获得的。
https://stackoverflow.com/questions/65686131
复制相似问题