Ich versuche, Daten von einer POST-Anforderung zu erhalten, um Logik in meiner App zu erstellen.Daten von POST-Anforderung abrufen
Zum Beispiel; Wenn code == 200 Hauptaktivität starten, sonst Fehlermeldung erstellen.
Aber wenn ich versuche, diese Daten aus Antwortwert (Parameter onResponse-Methode) zu bekommen, habe ich NPE, und in Stack-Trace sehe ich, dass response.body() = null.
In Stack-Trace sehe ich auch, dass die Anfrage korrekt ist und Code == 200, Status = OK erhalten. Von Postman sehe ich, dass diese Anforderung wird mir Daten:
{
"status": true,
"auth": {
"token": "f1071c34857e456b8ceb996de3459ab3",
"expires": "2017-04-26 10:01:21",
"user_id": "11272862"
},
"user": {
"user_id": "11272862",
"username": "prozrostyslav",
"full_url": "https://vid.me/prozrostyslav",
"avatar": null,
"avatar_url": "https://d2ha22j8ys3e0o.cloudfront.net/images/default-avatars/13.png?602-2-2-4-9",
"cover": null,
"cover_url": "https://d2ha22j8ys3e0o.cloudfront.net/images/default-covers/03.jpg?602-2-2-4-9",
"displayname": null,
"follower_count": 0,
"likes_count": "0",
"video_count": 0,
"video_views": "0",
"videos_scores": 0,
"comments_scores": 0,
"bio": null
}
}
aber ich kann es nicht in meiner app bekommen :( API-Schnittstelle:
public interface VideoApi {
@GET("/videos/featured")
Call<Videos> getFeaturedVideo();
@GET("/videos/new")
Call<Videos> getNewVideo();
@Headers("Content-Type:application/x-www-form-urlencoded")
@FormUrlEncoded
@POST("/auth/create")
Call<SignInResults>insertUser(@Header("Authorization") String authorization,@Field("username") String username,
@Field("password") String password
);
}
Fragment :(Fehler in onResponse-Methode, wenn versuchen, i Wert zu erhalten)
SignInResult:
public class SignInResult {
@SerializedName("authorization")
@Expose
private String authorization;
@SerializedName("code")
@Expose
private String code;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@SerializedName("username")
@Expose
private String username;
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
@SerializedName("user_id")
@Expose
private String user_id;
}
SignInResults:
public class SignInResults {
public SignInResult signInResult;
public List<SignInResult> getSignInResults() {
return signInResults;
}
List<SignInResult> signInResults;
}