当前位置: 首页 > 知识库问答 >
问题:

获取isConnected失败:Kotlin Referfit post请求的EconnDelection(Connection Delection

吕飞翼
2023-03-14
interface RestApi {

    @Headers("Content-Type: application/json")
    @POST("users")
    fun addUser(@Body userData: CTUserInfo): Call<ResponseBody>
}


object ServiceBuilder {
    private val client = OkHttpClient.Builder().build()

    private val retrofit = Retrofit.Builder()
        .baseUrl("http://localhost:8080/")
        .addConverterFactory(GsonConverterFactory.create())
        .client(client)
        .build()

    fun<T> buildService(service: Class<T>): T{
        return retrofit.create(service)
    }
}

class RestApiService {

    fun addUser(userData: CTUserInfo){

        val retrofit = ServiceBuilder.buildService(RestApi::class.java)

        retrofit.addUser(userData).enqueue(
            object : Callback<ResponseBody> {

                override fun onFailure(call: Call<ResponseBody>, t: Throwable) {
                    // failure
                    print("Failed") // getting t = below mentioned error
                }

                override fun onResponse( call: Call<ResponseBody>, response: Response<ResponseBody>) {

                    if (response.code() == 201) {
                        // user added
                        print("Success")
                    } else{
                        //user could not be added
                        print("Failed")
                    }
                }
            }
        )
    }
}

如何化解?

我的Android清单文件看起来像,

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

    <application
            android:name=".BaseApplication"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:usesCleartextTraffic="true"
            android:theme="@style/AppTheme">
            ...

共有1个答案

公西俊才
2023-03-14

最后,我通过添加通过在bash中运行以下命令找到的实际机器IP来解决这个问题

  1. mac-ifconfig
  2. Windows-ipconfig/all

例,

private val retrofit = Retrofit.Builder()
    .baseUrl("http://192.168.64.1:8080/")
    .addConverterFactory(GsonConverterFactory.create())
    .client(client)
    .build()
 类似资料:
  • 我试图建立一个基本的网页,允许用户在数据库的mysql表中添加一行,以便打开LED灯和使用arduino。然而,当我尝试提交表单时,页面返回500状态,mysql查询没有执行。我在我的电脑上运行linux-apache-mysql-php服务器。为什么会这样?

  • 我不知道我改变了什么,但是获取请求不再工作了(只使用Android)。它以前工作过,试图改变它回来,但不能让它工作。 我尝试了本期中的链接:React本地网络请求在获取数据时失败 我试图获取的数据 图像以便更好地查看

  • 问题内容: 我正在使用React Native开发一个简单的应用程序。我正在Android设备上对其进行测试。我创建了一个Node.js服务器来监听请求,该服务器运行在http:// localhost:3333 /上 。接下来,我要从index.android.js进行提取请求。下面是代码。 节点服务器上请求处理程序的代码如下 但是,获取请求无效。我在Chrome控制台中收到的错误是:TypeE

  • 当我尝试从NPM安装软件包时,我得到fetch failed错误。我设置了npm的配置:-设置strict-ssl为false-使用https://registry.npmjs.org设置注册表/-设置代理和https-proxy 当我搜索一个软件包时,注册表的get方法运行良好,但是当我尝试安装时,我得到了一个错误 在我用node 8.9.1的最新版本和NPM5.5.1升级我的节点后,我得到了这

  • 我是iOS和Swift的新手,我正在尝试使用AlamoFire3.4.0来做一个web请求。当我的请求成功时,一切都很好。但是,如果我的请求失败,服务器将返回300或更大的状态代码,以及响应体中的一些JSON,其中包含关于请求失败原因的更多信息。例如,我正在与之交谈的API要求对每个请求进行身份验证。如果身份验证由于某种原因失败,我将返回401,响应体中的JSON将为: 我发出此请求的代码如下所示

  • 这是我的AngularJS代码(如果我删除header选项,它可以正常工作)。 请求如下: 答复: 我添加了和头,但请求仍然失败 大写字母(我的意思是vs)是否会导致失败?如果是,我如何才能让AngularJS停止这样做? Go服务器路由代码: