Я хочу получить строку json из моего api, используя retrofit 2, у меня нет проблем при использовании retrofit 1, чтобы получить этот json, но с помощью retrofit 2 возвращает null для меня.
Это то, что мой json выглядит как
{"id":1,"Username":"admin","Level":"Administrator"}
Это мой API
@FormUrlEncoded
@POST("/api/level")
Call<ResponseBody> checkLevel(@Field("id") int id);
Вот как выглядит мой код
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Config.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Api api = retrofit.create(Api.class);
Call<ResponseBody> call = api.checkLevel(1);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
JsonObject post = new JsonObject().get(response.body().toString()).getAsJsonObject();
if (post.get("Level").getAsString().contains("Administrator")) {
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
Я новичок в retrofit 2 и, используя вышеприведенный код, он всегда приводит к сбою моих приложений, потому что response.body().toString()
возвращает null.
Расскажите, как получить эту строку json, чтобы преобразовать ее в JsonObject.