0

次のエラーが表示されます:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: 文字列が必要ですが、行 1 列 2 パス $ で BEGIN_OBJECT でした

私は次のコードを使用しています:

アプリケーション クラス:

  public static void setupRetrofit() {
    OkHttpClient client = new OkHttpClient();
    client.interceptors().add(new NewRequestIntercepter(mContext));

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(client)
            .build();

    service = retrofit.create(ApiService.class);
}

public static ApiService getApiService() {
    return service;
}

}

インターフェイス クラス

 public interface ApiService
 {
    @POST("users")
    Call<String> registerUser(@Body JsonObject jsonObject);
}

ログイン アクティビティ クラス

 JsonObject Obj = new JsonObject();
 JsonObject userObj = new JsonObject();
 Obj.addProperty("email", "mark@gmail.com");
 Obj.addProperty("name", "Mark"));
 Obj.addProperty("gender", "Male");
 userObj.addProperty("userInfo",obj); 

 Call<String> registerUserAPI = SoulCurry.getApiService().registerUser(userObj);
        registerUserAPI.enqueue(new Callback<String>() {
            @Override
            public void onResponse(retrofit.Response<String> response, Retrofit retrofit) {
                if (response.isSuccess())
                    CurryLogger.d("LoginActivity", response.toString());
            }

            @Override
            public void onFailure(Throwable t) {
                CurryLogger.d("Fail");
            }
        });

    } catch (Exception e) {
        e.printStackTrace();
    }
}
4

0 に答える 0