2017-04-10 51 views
0

私は怒鳴るようserverretrofit経由stringを渡しています:私は怒鳴るように文字列を取得し、サーバからログを取得する際サーバーにretrofit経由で文字列を送信する - Android?

private static final String TEST_QUERY = "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); 
    } 
} 

そして、私のInterface

interface API { 
    @POST("graphql/server.php") 
    Call<CustomMutation> queryWithCall(@Body String query); 
} 

マイライブラリには、次のとおりです。

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' 

答えて

1

あなたが使用しようとすべきであるスカラーコンバータ:

あなたbuild.gradleにこれを追加します。

compile 'com.squareup.retrofit2:converter-scalars:2.1.0' 

あなたcreateApi()は、次のようになります。shmakova.Very @

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); 
} 
+0

は非常さんに感謝します。 –

関連する問題