我正在开发一个 Android 应用程序。我正在使用 Volley 发出 api 请求。但是每当我发出 post 请求时,它总是会抛出服务器错误,统计代码为 500。但我很确定,当我使用 fiddler 或 chrome 扩展的 rest 客户端等工具时,该 url 确实存在并返回 200 状态代码。
但是当我从 genny 运动模拟器发出请求时,它返回 http 500 状态。
这是我提出请求的方式:
public void submitLogin(String email,String password)
{
try{
String url = getResources().getString(R.string.api_end_point)+"auth/login";
JSONObject jsonParam = new JSONObject("{\"email\":\""+email+"\",\"password\":\""+password+"\"}");
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,url, jsonParam, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(getBaseContext(),response.toString(),Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getBaseContext(),error.toString(),Toast.LENGTH_SHORT).show();
//tvErrorMessage.setText("Network error encountered");
}
});
VolleySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);
}
catch (Exception e)
{
tvErrorMessage.setText("Internal error encountered with application");
}
}
我已经在 list 文件中设置了互联网权限。这是我的第一个帖子请求。但是我之前成功发出了get请求。我的代码有什么问题?
最佳答案
我发现我的代码有错误。首先,对于不完整的标签和问题,我深表歉意。这是 Laravel 的错误。通常是 csrf 中间件的 laravel 过滤器请求。所以我只需要从路由中过滤我的 api 请求中删除 csrf middle。
关于android - 使用 Volley 发布请求总是会在带有 Laravel 后端的 Android 中抛出服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35855104/