我正在使用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中写了后端:
当我尝试发布时,它只是起作用:
我需要你的帮助,我只有一天时间来完成这个项目!
答案 0 :(得分:1)
嗨,我认为有一个日期时间对话问题。 使用Jackson格式化语调以正确序列化日期时间字段。