通过改造将字符串发送到服务器-Android?
我正在通过通过改造将字符串发送到服务器-Android?,android,retrofit,retrofit2,Android,Retrofit,Retrofit2,我正在通过reformation将字符串传递给服务器,如下所示: private static final String TEST_QUERY = "query{echo(message:\"Hello\")}"; 但当我从服务器获取日志时,我会得到如下字符串: "query{echo(message:\"Hello\")}" query{echo(message:"Hello")} 但我需要像下面那样得到它: "query{echo(message:\"Hello\")}" query
reformation
将字符串
传递给服务器
,如下所示:
private static final String TEST_QUERY = "query{echo(message:\"Hello\")}";
但当我从服务器获取日志时,我会得到如下字符串:
"query{echo(message:\"Hello\")}"
query{echo(message:"Hello")}
但我需要像下面那样得到它:
"query{echo(message:\"Hello\")}"
query{echo(message:"Hello")}
下面是我的代码:
public class MainActivity extends AppCompatActivity {
private API mApi;
private static final String TEST_QUERY = "query{echo(message:\"Hello\")}";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createApi();
mApi = createApi();
callMe();
}
private void callMe() {
Call<CustomMutation> accountCall = mApi.queryWithCall(TEST_QUERY);
accountCall.enqueue(new Callback<CustomMutation>() {
@Override
public void onResponse(Call<CustomMutation> call, Response<CustomMutation> response) {
if (response.isSuccessful()) {
//DataMutation account = response.body();
Log.i("AAAAAAAA", "A" + response.body().getData().getEcho() + "");
} else {
Log.i("AAAAAAAA", "B");
}
}
@Override
public void onFailure(Call<CustomMutation> call, Throwable t) {
Log.i("AAAAAAAA", "C " + t.getMessage());
}
});
Log.i("AAAAAAAA", accountCall.request().url() + "");
}
private API createApi() {
OkHttpClient ok = new OkHttpClient.Builder()
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://88.99.132.161/")
.client(ok)
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
return retrofit.create(API.class);
}
}
我的图书馆是:
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.google.code.gson:gson:2.7'
您应该尝试使用标量转换器: 将此添加到您的
build.gradle
:
compile 'com.squareup.retrofit2:converter-scalars:2.1.0'
您的createApi()
应该如下所示:
private API createApi() {
OkHttpClient ok = new OkHttpClient.Builder()
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://88.99.132.161/")
.client(ok)
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
return retrofit.create(API.class);
}