0
내 활동 내에서 사용자 자격 증명을 확인하고 유효한 경우 세션 ID 및 관련 정보를 반환합니다. 메서드는 POST입니다. 매개 변수는 JSON으로 보내야합니다.BasicNetwork.performRequest 얻기 : 예기치 않은 응답 코드 400 (발리에 있음)
{
"params": {
"context": {},
"db": "testing",
"login": "admin",
"password": "admin"
}
}
그래서 나는 된 JSONObject를 생성하고 Header.I 내가 그것을 호출 할 때 어떤 일이 나를 도와 is.Can로 난 오류가있어 어떤 POSTMAN.But에 반응을 얻고으로 같이 보내?
은 발리에서 RequestQueue을 보유하고 singletone 클래스 VolleyDispatcher를 만듭니다 : 여기
private void volleyLogin() throws JSONException {
mProgressView.setVisibility(View.VISIBLE);
JSONObject one = new JSONObject();
one.put("context",new JSONObject());
one.put("db","testing");
one.put("login","admin");
one.put("password","admin");
JSONObject params = new JSONObject();
params.put("params",one);
HashMap<String, String> header = new HashMap<String, String>();
header.put("Content-Type", "application/json; charset=utf-8");
RequestQueue requestQueue = Volley.newRequestQueue(this);
CustomRequest jsObjRequest = new CustomRequest(Request.Method.POST,
ApiConstants.URL_AUTHENTICATE,params,header, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println("Response"+response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("VolleyError"+error);
}
}
);
jsObjRequest.setRetryPolicy(new DefaultRetryPolicy(
(int) TimeUnit.SECONDS.toMillis(120),
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
System.out.println("jsObjRequest"+jsObjRequest);
requestQueue.add(jsObjRequest);
}
당신이 뭔가를 시도 할 수 있습니다 사용자 정의 요청 클래스
public class CustomRequest extends Request<JSONObject> {
private Response.Listener<JSONObject> listener;
private JSONObject jsonObjectParams;
private Map<String, String> headers;
public CustomRequest(int method,String url, JSONObject jsonObjectParams,Map<String, String> headers,
Response.Listener<JSONObject> reponseListener, Response.ErrorListener errorListener) {
super(method, url, errorListener);
this.listener = reponseListener;
this.jsonObjectParams = jsonObjectParams;
this.headers= headers;
System.out.println("method"+method);
System.out.println("url"+url);
System.out.println("jsonObjectParams"+jsonObjectParams);
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return headers;
}
@Override
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
try {
String jsonString = new String(response.data,
HttpHeaderParser.parseCharset(response.headers));
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
protected void deliverResponse(JSONObject response) {
// TODO Auto-generated method stub
listener.onResponse(response);
}
@Override
protected VolleyError parseNetworkError(VolleyError volleyError) {
if(volleyError.networkResponse != null && volleyError.networkResponse.data != null){
VolleyError error = new VolleyError(new String(volleyError.networkResponse.data));
volleyError = error;
}
return volleyError;
}
}