改造返回 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(内部服务器错误)”?

返回 JsonResult 导致 500 内部服务器错误

Laravel ajax 返回 500(内部服务器错误)

laravel 中的 Ajax 发布返回错误 500(内部服务器错误)

ajax post 返回 laravel 错误 500(内部服务器错误)

Laravel ajax 帖子返回 500 内部服务器错误