如何通过retrofit2发送Json-rpc?

问题描述 投票:1回答:1

我试过通过json-rpc发送retrofit2。这是我的界面:

public interface ApiInterfaceJson {

@POST
@Headers( "Content-Type: application/json" )
Call<String> getDataJson(
         @Url String url,
         @Body RequestBody body);

}

创建retrofit

retrofitJson = new Retrofit.Builder()
            .addConverterFactory(ScalarsConverterFactory.create())
            .baseUrl("http://localhost:8800")
            .client(client)
            .build();

    apiInterfaceJson   = retrofitJson.create(ApiInterfaceJson.class);

呼叫:

JSONObject paramObject = new JSONObject();
    try {
        paramObject.put("id", "0");
        paramObject.put("name", "user");
        paramObject.put("command", "finish");
    }catch(Exception e){
    }   
  RequestBody requestBody=  RequestBody.create(MediaType.parse("application/json"), paramObject.toString());       
MinersMonitorApplication.getApiJson().getDataJson("http://10.10.10.230:10000", requestBody).enqueue(new Callback<String>() {
            @Override
            public void onResponse(@NonNull Call<String> call, @NonNull Response<String> response) {}              
            @Override
            public void onFailure(Call<String> call, Throwable t) {
            }
        });

结果是SocketTimeoutException

android request retrofit2 json-rpc
1个回答
0
投票

尝试添加权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
© www.soinside.com 2019 - 2024. All rights reserved.