Ich benutze Retrofit 2.1 und wenn ich ein Objekt auf meinem Server posten, gibt es mir Interner Serverfehler mit Statuscode = 500, aber ich versuche, von meinem Backend zu posten, funktioniert es Wie ein Zauber, bin ich mir sicher, dass das nicht das Problem des Servers ist.Retrofit 2.1 Interner Server Fehler mit Post
Zweifellos soll ich Retrofit als Singleton verwenden:
//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;
}
und diese Methode, die ich hier schreiben Objekt:
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) {
}
});
}
Ich habe versucht, eine Liste mit einzelnem Objekt zu schreiben innen und zu schreiben ein Objekt allein, aber immer noch Statuscode ist 500; * (
Dies ist meine API Service-Schnittstelle:
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);
}
Ich habe geschrieben Backend in Django + Django-rest-Rahmen:
Wenn ich versuche, von diesem Post, es funktioniert einfach:
Ich brauche deine Hilfe Jungs, ich habe nur einen Tag, um dieses Projekt zu vervollständigen !!!
Vielen Dank! du hast mein Leben gerettet! (͡ ° ͜ʖ ͡ °) –