我尝试将两个参数发送到某个服务器。 服务器响应http-post调用,两个参数是 诠释 一些枚举(我发送为字符串)
我想将参数发送为json:
StringEntity t = new StringEntity("{ \"intValParam\":-100 , \"enumParam\":\"enumValueAsString\" }" , "UTF-8");
httppost.setEntity(t);
httppost.setHeader("content-type", "application/json");
我得到的回复是400(错误请求)
**还有一个我可以调用的方法,需要有一个参数...只有int - 并且这个方法运行良好 - 所以这不是来自错误连接或类似的问题。
答案 0 :(得分:1)
您不应该尝试添加这样的参数。使用httpPost中的方法setParams
或使用NameValuePair实体并在请求中对它们进行编码,如下所示:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("userid", "12312"));
nameValuePairs.add(new BasicNameValuePair("sessionid", "234"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
代码here。