私は、Webサービスにデータを投稿するためのVolleyライブラリを学習しようとしています。私は今の問題は、これがボレーポストのための私のコードで私は paramsとheaderを持つandroid VolleyライブラリのPOSTリクエストの使い方は?
エラー以下com.android.volley.ServerError
を取得しています、あるユーザ登録フォームを実装する必要があり、以下のパラメータとヘッダと郵便配達のイメージです...
方法。
public void postNewComment(){
try {
RequestQueue requestQueue = Volley.newRequestQueue(this);
String URL = "http://myurl/api/users";
JSONObject jsonBody = new JSONObject();
jsonBody.put("email", "[email protected]");
jsonBody.put("user_type", "C");
jsonBody.put("company_id", "0");
jsonBody.put("status", "A");
jsonBody.put("password", "123456");
final String requestBody = jsonBody.toString();
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("VOLLEY", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
Log.e("VOLLEY", error.toString());
}
}) {
@Override
public String getBodyContentType() {
return "application/json; charset=utf-8";
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
final Map<String, String> headers = new HashMap<>();
headers.put("Authorization", "Basic " + "My_auth_key");
headers.put("Content-Type", "application/json");
return headers;
}
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
String responseString = "";
if (response != null) {
responseString = String.valueOf(response.statusCode);
// can get more details such as response.headers
}
return Response.success(responseString, HttpHeaderParser.parseCacheHeaders(response));
}
};
requestQueue.add(stringRequest);
} catch (JSONException e) {
e.printStackTrace();
}
}
どこが間違っているのかを教えてください。 URLは2つのヘッダーを設定する必要があることがわかるように、郵便配達員と正しく機能しています。私はまた、AsyncTaskとそのうまくいっているこのUrlのポストメソッドを試してみました。今私はこれを実装する必要があります。親切にお勧めします。ありがとうございました。
これは私のlogcatエラーです:
E/Volley: [81910] BasicNetwork.performRequest: Unexpected response code 405 for "Myurl"
はここにあなたの完全なlogcatのログを投稿してください。 com.android.volley.ServerErrorそれはあなたにも400,500のようなエラー番号を与えるべきです –
あなたは@ SahilManchandaを確認してください。 –
下記を参照してください。パラメータとヘッダーを追加するhttps://www.androidhive.info/2014/05/android-working-with- volley-library-1/ –