gpt4 book ai didi

java - 获取 com.android.volley.ServerError

转载 作者:行者123 更新时间:2023-12-02 00:50:12 26 4
gpt4 key购买 nike

使用 volley 的 PUT 请求

Log.i("JsonObject is",finaljsonData.toString());Output:-{"stats":[{"med_id":1,"med_name":"Evening","start_date":1476107306168,"end_date":1476193706168,"adherence":{"taken_on":[1476107704867],"missed_on":[]}}]}

Code:

    JsonObjectHeader customRequest=new JsonObjectHeader(Request.Method.PUT,url, finaljsonData, listener, errorListener);
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(customRequest);

JsonObjectHeader 类是:-

public class JsonObjectHeader extends JsonRequest<JSONObject> {

public JsonObjectHeader(int method, String url, String requestBody, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) {
super(method, url, requestBody, listener, errorListener);
}

public JsonObjectHeader(String url, JSONObject jsonRequest, Response.Listener<JSONObject> listener,
Response.ErrorListener errorListener) {
this(jsonRequest == null ? Method.GET : Method.POST, url, jsonRequest,
listener, errorListener);
}

public JsonObjectHeader(int method, String url, JSONObject jsonRequest,
Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) {
super(method, url, (jsonRequest == null) ? null : jsonRequest.toString(), listener,
errorListener);
}

@Override
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {

try {
Log.i("Response parse","Yes");
String jsonString = new String(response.data,
HttpHeaderParser.parseCharset(response.headers));
Log.i("Json String",jsonString);
Log.i("Response Complete",response.toString());
Log.i("Response Data",response.data.toString());
return Response.success(new JSONObject(jsonString),
HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JSONException je) {
return Response.error(new ParseError(je));
}

}

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
headers.put("x-access-token", Constants.getTokenDB());
return headers;

}

}

LogCat 输出:

10-10 19:45:15.186 22355-22426/user.com.test2 E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f5ba7cac7e010-10 19:45:15.797 22355-22650/user.com.test2 E/Volley: [198] BasicNetwork.performRequest: Unexpected response code 500 for url10-10 19:45:15.798 22355-22355/user.com.test2 W/System.err: com.android.volley.ServerError10-10 19:45:15.798 22355-22355/user.com.test2 W/System.err:     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:163)10-10 19:45:15.798 22355-22355/user.com.test2 W/System.err:     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)

Server LogCat:-

{}
www-user-9 PUT /medstats 500 4.579 ms - 627

TypeError: Cannot read property 'length' of undefined
www-user-9 at /abc.js:390:12
www-user-9 at Layer.handle [as handle_request] (/xyz.js.js:95:5)
www-user-9 at next (/abc.js:131:13)
www-user-9 at /abc.js:61:5
www-user-9 at //abc.js:27:18
www-user-9 at nextTickCallbackWith0Args (node.js:420:9)
www-user-9 at process._tickDomainCallback (node.js:390:13)

我尝试过使用 PostMan。所以它工作正常:所以我认为没有服务器错误

最佳答案

您要作为字符串发送的 json 正文,请尝试将其作为 json 对象发送。服务器可能需要一个 json 对象。否则,标题值可能会出现问题。检查 postman 中您从那里发送的 header 是否与您从应用程序发送的 header 相同。

关于java - 获取 com.android.volley.ServerError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39961086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com