改造返回 500 内部服务器错误
Posted
技术标签:
【中文标题】改造返回 500 内部服务器错误【英文标题】:Retrofit returns 500 Internal server error 【发布时间】:2021-06-21 22:28:32 【问题描述】:我正在尝试使用 Retrofit 库更新数据库记录。邮递员可以很好地处理相同的数据。 GET 数据也可以正常工作,但 PATCH 操作返回错误 500 内部服务器错误。
界面:
//@Headers("Content-Type: application/json")
@PATCH("usersapi/id")
Call<UserBank> updateUserBank(@Path("id") int id, @Body UserBank post);
主要活动:
retrofit = new Retrofit.Builder()
.baseUrl("https://<website>/api/")
// .addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
jsonCofyBizApi = retrofit.create(jsonCofyBizApi.class);
UserBank post = new UserBank(user_id, txtbankname.getText().toString());
Call<UserBank> call = jsonCofyBizApi.updateUserBank(user_id, post);
call.enqueue(new Callback<UserBank>()
@Override
public void onResponse(Call<UserBank> call, Response<UserBank> response)
UserBank postResponse = response.body();
以及其余代码...
类/构造函数 UserBank:
public class UserBank
@SerializedName("user_id")
int user_id;
@SerializedName("bank_name")
String bank_name;
public UserBank(int user_id, String bank_name)
this.user_id = user_id;
this.bank_name = bank_name;
剩下的代码...
我看到其他主题相同的主题,但没有一个解决方案对我有用。网址正在正确生成。
任何帮助表示赞赏。 问候, PD
【问题讨论】:
您在这里期望得到什么答案?我们怎么知道服务器没有问题?您希望我们如何在我们这边重现这个问题? 添加您有问题的 API 响应。 正如指定的 GET 已经在工作,并且通过 Postman 也可以工作 我们不知道您的服务器正在运行什么代码引发了这个错误,或者您在 Postman 中做了什么不同的事情。 我不明白。最终很难重现。如果有人能告诉我如何从改装中获得更多关于退货的信息,我将不胜感激。我会尝试实施以获取更多日志。 【参考方案1】:问题解决了。在指定端点的末尾添加“/”
@PATCH("usersapi/id")
Call<UserBank> updateUserBank(@Path("id") int id, @Body UserBank post);
@PATCH("usersapi/id/")
Call<UserBank> updateUserBank(@Path("id") int id, @Body UserBank post);
【讨论】:
以上是关于改造返回 500 内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章
Laravel:为啥我的 ajax 请求返回“500(内部服务器错误)”?
laravel 中的 Ajax 发布返回错误 500(内部服务器错误)