홈>
Retrofit 라이브러리를 공부하기 시작해서 약간의 도움을 요청하십시오. 응답에서 데이터를 가져 오려고하지만 객체에 대한 링크 만 얻습니다.
interface IApi {
@GET("api")
Call<PostModel> getData();
}
/*---------------------------------------------------------------------*/
public class App extends Application {
private static IApi siteApi;
@Override
public void onCreate() {
super.onCreate();
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://yesno.wtf/")
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
siteApi = retrofit.create(IApi.class);
}
public static IApi getApi() {
return siteApi;
}
}
/*------------------------------------------------------------------------*/
class PostModel {
@SerializedName("answer")
@Expose
private String answer;
@SerializedName("forced")
@Expose
private Boolean forced;
@SerializedName("image")
@Expose
private String image;
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
public Boolean getForced() {
return forced;
}
public void setForced(Boolean forced) {
this.forced = forced;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}
/*------------------------------------------------------------------------*/
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
App.getApi().getData().enqueue(new Callback<PostModel>() {
@Override
public void onResponse(Call<PostModel> call, Response<PostModel> response) {
Log.e("Response", response.body().toString());
}
@Override
public void onFailure(Call<PostModel> call, Throwable t) {
t.printStackTrace();
Toast.makeText(MainActivity.this, "An error occurred during networking", Toast.LENGTH_SHORT).show();
}
});
}
}
변수 유형에 문제가있는 것 같지만 확실하지 않습니다 ... 어떤 도움을 주셔서 감사합니다.
UPD : 내 logcat :
...
D/OkHttp {"answer":"no","forced":false,"image":"https://yesno.wtf/assets/no/27-8befe9bcaeb66f865dd3ecdcf8821f51.gif"}
D/OkHttp: <-- END HTTP (108-byte body)
E/Response: com.testapp.retrofit.PostModel@9a74b2c
그래서 질문은 어떻게 대답 할 수 있는가? ( "answer": "no", "forced": false, "image": " https://yesno.wtf/assets/no/27-8befe9bcaeb66f865dd3ecdcf8821f51.gif ")
- 답변 # 1
관련 자료
- java - 응답 Kotlin 개조 처리
- android - 모델 객체 구문 분석에 대한 개조 요청 응답
- python - VS Code를 사용하여 Python3으로 CSV 파일을 열려고 할 때 예기치 않은 결과
- python - discordpy - 작성자의 응답을 기다렸다가 대답하려고합니다
- python - 데이터가 없더라도 매번 아름다운 수프 결과에서 데이터를 목록에 쓰려고
- Java Spring Boot + Mysql - 자바 스프링 부트 + mysql - mysql 쿼리 결과가 데이터베이스 테이블에 해당하는 모델과 일치하지 않으면 json (키-값) 응답을 반환
- python - 터미널에서 직접 작성한 코드를 실행하려고하면 결과 - permission denied
- php - API JSON-RPC 응답 결과에서 변수로 값을 가져 오는 방법
- node.js - HTTP 요청을 트리거하고 MYSQL 결과에 응답을 저장하십시오
- amazon neptune - Gremlin 함수 fold ()가 JSON 응답의 결과에 영향을주는 이유는 무엇입니까?
- java - 개조가 빈 응답 본문을 반환합니다
- php - 쿼리 응답에서 email_address를 추출하려고합니다 무슨 일이야?
- javascript - react 및 Expressjs를 사용하여 API 응답을 가져 오면 consolelog에 결과가 표시되지 않습니다
- php - 개조를 사용하여 JSON 배열 응답을 얻는 방법 (@GET)
응답에 따라
모델 PostModel이 잘 보입니다. 당신의 방식으로 나의 실례를 시험해보십시오
인터페이스
서비스 클래스
전화
모델
자세한 참조를 위해 방문하십시오 https://github.com/pratikvyas1991/NetworkingExample/tree/master/app/src/main/java/com/ims/tasol/networkingexample