私は多くを検索しましたが、何が起こっているのか分かりません。私はこのコードの多くのバリエーションを書いており、ここには最新のものがあります。ボレーを使用してPOST JSONを実行できない
アンドロイドコード
private static void post(@NonNull String url,
@NonNull Context context,
@NonNull final JSONObject jsonRequest,
@NonNull final ServerConnectionAdapter serverConnectionAdapter){
Log.d(TAG, "post: URL = " + url);
RequestQueue queue = Volley.newRequestQueue(context);
JsonObjectRequest postRequest = new JsonObjectRequest(
Request.Method.POST,
url,
jsonRequest,
serverConnectionAdapter,
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
serverConnectionAdapter.onErrorResponse(null, error);
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<>();
// map.put("user", json.toString());
map.put("user", "{\"id\":-1,\"name\":\"Gustavo Araujo\"}");
return map;
}
};
queue.add(postRequest);
}
サーバ(Java)のコード
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doPost");
System.out.println("REQUEST: ");
for (Map.Entry<String, String[]> e : request.getParameterMap().entrySet()){
System.out.print(" ");
System.out.println(e.getKey() + ": " + java.util.Arrays.toString(e.getValue()));
}
System.out.println("end");
}
doPostメソッド出力
doPost
REQUEST:
end
I'v私の画面がいつまでも出てきて、どこにエラーがあるのか分からないと思う。 getParams()の有無にかかわらず、多くの例が見つかりました。私は両方を試み、何も変えなかった。
ServerConnectionAdapter
は、エラーリスナーとの応答を統一するために作成した抽象クラスです。私はそれが問題ではないと確信しています。なぜなら、それは私が持っているGETと完璧に働くからです。私はすでにそこnull
を使用して、すべての結果を変更していないので、
String url
も表示することができません(そうでない場合は、サーバが起動されなかったであろう。
もjsonRequest
は問題ではありません私が言ったように、私は時間のためにこのコードを主演してきた
。、すべての私の仮定は私が助けを求めている理由です、完全に間違っている可能性があります。
Android StudioのLog-catでエラーや警告が表示されますか? –
[メソッド呼び出しポスト](http://imgur.com/7lmRvNK)と[出力](http://imgur.com/xRrafOP)。残りの出力は、他のデータを確認するための自分のログです。 –