每次我尝试发送帖子请求时,都会收到500错误。获取请求工作正常。通过postman发布请求也很好,所以在服务器端没有问题。有什么问题?
请求代码:
HseDayApi hseDayApi = HseDayApi.retrofit.create(HseDayApi.class);
ApiPostComment comment = new ApiPostComment();
comment.setAuthor("Author");
comment.setContent("Test");
comment.setEventid(123);
Call<ResponseBody> postComment = hseDayApi.postComment(comment);
postComment.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
Log.d("myLogs", response.toString());
Log.d("myLogs", String.valueOf(response.errorBody()));
Log.d("myLogs", String.valueOf(response.code()));
Log.d("myLogs", response.toString());
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
日志说这个
D/myLogs: retrofit2.Response@a1089f6
D/myLogs: okhttp3.ResponseBody$1@d57e1f7
D/myLogs: 500
D/myLogs: retrofit2.Response@a1089f6
发布请求声明:
@POST("/api/comments/add/text")
Call<ResponseBody> postComment(@Body ApiPostComment comment);
请求代码类:
public class ApiPostComment {
private int eventid;
private String author;
private String content;
public void setEventid(int eventid) {
this.eventid = eventid;
}
public void setContent(String content) {
this.content = content;
}
public int getEventid() {
return eventid;
}
public String getAuthor() {
return author;
}
public String getContent() {
return content;
}
public void setAuthor(String author) {
this.author = author;
}
}
答案 0 :(得分:4)
删除/。作为改造Baseurl以/结尾。所以你的url现在像baseurl // api / comments / add / text
@POST("api/comments/add/text")<-------- change
Call<ResponseBody> postComment(@Body ApiPostComment comment);