2016-07-20 1 views
1

Retrofit 2.1을 사용하고 있으며 서버에 개체를 게시 할 때 상태 코드가 500 인 내부 서버 오류가 발생하지만 백엔드에서 게시하려고하면 작동합니다 매력처럼, 나는 이것이 서버의 문제가 아니라고 확신한다.Retrofit 2.1 게시 된 내부 서버 오류

의심 할 여지없이, 내가 단독으로 개조를 사용한다 : 여기 게시

//return api if not null 
HereApi getApi(){ 
    if (api == null) { 
     api = getRetrofit().create(HereApi.class); 
    } 
    return api; 
} 

//returns restadapter if not null 
Retrofit getRetrofit(){ 

    if (retrofit == null) { 
     retrofit = new Retrofit.Builder() 
       .baseUrl("my endpoint") 
       .addConverterFactory(GsonConverterFactory.create()) 
       .build(); 
    } 

    return retrofit; 
} 

이 방법은 개체 :

void createHere(Here here){ 

    List<Here> list = new ArrayList<>(); 
    list.add(here); 
    Call<List<Here>> call = getApi().createHere(list); 

    call.enqueue(new Callback<List<Here>>() { 
     @Override 
     public void onResponse(Call<List<Here>> call, Response<List<Here>> response) { 
      Log.i(TAG, "onResponse: "+response.message()); 
     } 

     @Override 
     public void onFailure(Call<List<Here>> call, Throwable t) { 

     } 
    }); 
} 

I 내부 단일 객체리스트를 작성하고, 배치하려고 하나의 개체는 있지만 상태 코드는 여전히 500입니다. * (

이것은 내 API 서비스 인터페이스입니다.

(210)
public interface HereApi{ 

@GET("/lessons/") 
Call<List<Lesson>> getLesson(@QueryMap Map<String,String> map); 

@Headers({ 
     "Content-Type: application/json", 
     "Vary: Accept" 
}) 
@POST("/heres/") 
Call<List<Here>> createHere(@Body List<Here> list); 

@GET("/heres/") 
Call<List<Here>> getHeres(@QueryMap Map<String,String> map); 

은}

나는 장고 + 장고 - 나머지 프레임 워크에 백엔드를 작성했습니다 :

all Here objects as a list

나는이에서 게시하려고, 그냥 작동합니다

Posting from rest-framework UI

나는이 프로젝트를 완료하는 데 하루 만 있습니다!

답변

1

안녕하세요 저는 datetime 대화 문제가 있다고 생각합니다. 날짜/시간 필드를 제대로 serialize하려면 Jackson을 attonation 포매팅을 사용하십시오.

+0

고마워요! 네가 내 목숨을 구했어! (͡ ° ͜ʖ ͡ °) –