使用Post改进2.1内部服务器错误

时间:2016-07-20 11:36:12

标签: django django-rest-framework retrofit

我正在使用Retrofit 2.1,当我向我的服务器发布一个对象时,它给我内部服务器错误,状态代码= 500,但我尝试从我的后端发布,它就像一个魅力,我确定这不是服务器的问题。

毫无疑问,我应该将改装用作单身人士:

    //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) {

        }
    });
}

我尝试发布一个包含单个对象的列表并单独发布一个对象,但状态代码仍为500; *(

这是我的api服务界面:

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);

}

我在Django + Django-rest-framework中写了后端:

all Here objects as a list

当我尝试发布时,它只是起作用:

Posting from rest-framework UI

我需要你的帮助,我只有一天时间来完成这个项目!

1 个答案:

答案 0 :(得分:1)

嗨,我认为有一个日期时间对话问题。 使用Jackson格式化语调以正确序列化日期时间字段。