android volley post 参数,android – 使用Volley POST传递参数
我能夠使用Postman和這些參數(shù)調(diào)用HTTP端點(diǎn):
{
"name":"Val",
"subject":"Test"
}
但是我無法通過Android對Volley做同樣的事情:這里嘗試使用JSONRequest:
HashMap params2 = new HashMap();
params.put("name", "Val");
params.put("subject", "Test Subject");
JsonObjectRequest jsObjRequest = new JsonObjectRequest
(Request.Method.POST, Constants.CLOUD_URL, new JSONObject(params2), new Response.Listener() {
@Override
public void onResponse(JSONObject response) {
mView.showMessage("Response: " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
mView.showMessage(error.getMessage());
}
});
// Access the RequestQueue through your singleton class.
VolleySingleton.getInstance(mContext).addToRequestQueue(jsObjRequest);
這里是嘗試StringRequest
private void postMessage(Context context, final String name, final String subject ){
RequestQueue queue = Volley.newRequestQueue(context);
StringRequest sr = new StringRequest(Request.Method.POST, Constants.CLOUD_URL, new Response.Listener() {
@Override
public void onResponse(String response) {
mView.showMessage(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
protected Map getParams(){
Map params = new HashMap();
params.put("name", name);
params.put("subject", subject);
return params;
}
@Override
public Map getHeaders() throws AuthFailureError {
Map params = new HashMap();
params.put("Content-Type","application/x-www-form-urlencoded");
return params;
}
};
queue.add(sr);
}
當(dāng)我使用JSONRequest時,調(diào)用POST但沒有傳遞參數(shù),當(dāng)我使用StringRequest時,我得到下面的錯誤?如何將JSON數(shù)據(jù)傳遞給Volley調(diào)用?
E/Volley: [13053] BasicNetwork.performRequest: Unexpected response code 400 for
這是處理請求的服務(wù)器代碼
public static async Task Run(HttpRequestMessage req, TraceWriter log)
{
var helloRequest = await req.Content.ReadAsAsync();
var name = helloRequest?.Name ?? "world";
var responseMessage = $"Hello {personToGreet}!";
log.Info($"Message: {responseMessage}");
return req.CreateResponse(HttpStatusCode.OK, $"All went well.");
}
public class HelloRequest
{
public string Name { get; set; }
public string Subject { get; set; }
}
總結(jié)
以上是生活随笔為你收集整理的android volley post 参数,android – 使用Volley POST传递参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lg g7 android9,随着And
- 下一篇: android 上传头像遇到的问题,An