0
실제로 질문을하기 전에 여러 참조를 교차 검사했습니다. 대부분의 사람들이 웹 서비스를 호출하고 위의 결과를 얻고 있습니다. 내 문제는 요청하기 전에 있도록하는 것이 내가 code snippet
public static WebService getRestService(String newApiBaseUrl, String accessToken)
{
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
if (BuildConfig.DEBUG) {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient.addInterceptor(logging);
}
Gson gson = new GsonBuilder()
.setLenient()
.create();
restBuilder = new Retrofit.Builder()
.baseUrl(newApiBaseUrl)
.client(httpClient.build())
.addConverterFactory(GsonConverterFactory.create(gson));
if (accessToken != null) {
AuthenticationInterceptor interceptor =
new AuthenticationInterceptor(accessToken);
if (!httpClient.interceptors().contains(interceptor)) {
httpClient.addInterceptor(interceptor);
restBuilder.client(httpClient.build());
}
}
retrofit = restBuilder.build();
return retrofit.create(WebService.class);
}
인터프리터를 무시하시기 바랍니다 추가 할 수 있도록, 오히려 더 구체적이다. 이것은 모든 웹 서비스가 호출되는 내 서비스 생성기 클래스입니다. 내게 간단한 응답을 반환합니다 POST 메서드를 호출합니다.
"Android Monitor"에서 정확한 응답을 볼 수 있습니다. 하지만 JsonConverterFactory를 통과하면 오류가 발생합니다. 내가 웹 서비스가 응용 프로그램으로 돌아 가기 위해 특별한 것이 없기 때문에 간단한 텍스트 응답을 반환한다는 것을 확실히 알고있는 한가지. 텍스트 응답을 수업으로 변환 할 수있는 방법이 있습니까? 내가 무엇이든 놓치면 다시 소리 치십시오.
또한 내가 서버에서 코드의 일부를 얻을 수 있었다@Headers({
Constants.ApiHeader.CONTENT_TYPE_JSON
})
@POST("POST_URL/{number}")
Call<MyResponseModel> getActualProductLocation(@Header("access_token") String accessToken, @Path("number") String number, @Body List<MyRequestModel> body);
업데이트 내 인터페이스 방법 추가. 백엔드 JSON 형식의 데이터를 회신하지 않습니다
Response.status(200).entity("Response Success").build()
포스트'MyResponseModel'합니다. 대부분 올바른 형식이 아닙니다. – azizbekian
서버 (JSON 데이터)에서 반환 된 키 값 쌍이 없으므로 비어 있습니다. 클래스의 문자열 변수를 정의해야합니까? – Android
* 내 문제는 좀 더 구체적입니다 * 어떻게 그렇게? 이러한 문제는 모두 동일합니다. json 데이터는 변환기에서 예상 한 데이터가 아닙니다. gson 변환기가 유효한 json 유효한 문자열을 찾지 못했을 가능성이 있음 –