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">
...
最后,我通过添加通过在bash中运行以下命令找到的实际机器IP
来解决这个问题
ifconfig
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服务器路由代码: