Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们可以使用截击库在删除请求中发送带有x-www-url-form-encode的正文吗?_Java_Android_Android Volley - Fatal编程技术网

Java 我们可以使用截击库在删除请求中发送带有x-www-url-form-encode的正文吗?

Java 我们可以使用截击库在删除请求中发送带有x-www-url-form-encode的正文吗?,java,android,android-volley,Java,Android,Android Volley,如何在android中以x-www-form-urlencoded发送数据以通过删除请求 @Override public byte[] getBody() { Map<String, String> params = new HashMap<>(); params.put("is_admin","1"); params.put("client_dbname",sessionManager.clientdbname()); params

如何在android中以
x-www-form-urlencoded
发送数据以通过删除请求

@Override
public byte[] getBody()  {

    Map<String, String> params = new HashMap<>();
    params.put("is_admin","1");
    params.put("client_dbname",sessionManager.clientdbname());
    params.put("user_id" ,"1");

    //yeah, I copied this from the base method.
    if (params !=null)
    {
        try {
            para = params.toString().getBytes("UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }

    return para;
}
@覆盖
公共字节[]getBody(){
Map params=新的HashMap();
参数put(“is_admin”,“1”);
put(“client_dbname”,sessionManager.clientdbname());
参数put(“用户id”,“1”);
//是的,我从基本方法复制了这个。
如果(参数!=null)
{
试一试{
para=params.toString().getBytes(“UTF-8”);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
}
返回段;
}

这是因为默认情况下,Volley不会发送要删除的正文。仅适用于POST、PUT和PATCH

将此第三方用于删除请求

请尝试删除请求的此类:

public class StringJSONBodyReqest extends StringRequest {

    private static final String TAG = StringJSONBodyReqest.class.getName();
    private final String mContent;

    public StringJSONBodyReqest(int method, String url, String content, Response.Listener<String> listener, Response.ErrorListener errorListener) {
        super(method, url, listener, errorListener);
        mContent = content;
    }


    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        HashMap<String, String> headers = new HashMap<String, String>();
        headers.put("api-version", "1");

        return headers;
    }


    @Override
    public byte[] getBody() throws AuthFailureError {

        byte[] body = new byte[0];
        try {
            body = mContent.getBytes("UTF-8");
        } catch (UnsupportedEncodingException e) {
            Log.e(TAG, "Unable to gets bytes from JSON", e.fillInStackTrace());
        }
        return body;
    }


    @Override
    public String getBodyContentType() {
        return "application/json";
    }
}
公共类StringJSONBodyReqest扩展了StringRequest{
私有静态最终字符串标记=StringJSONBodyReqest.class.getName();
私有最终字符串mContent;
公共StringJSONBodyReqest(int方法、字符串url、字符串内容、Response.Listener、Response.ErrorListener ErrorListener){
super(方法、url、侦听器、errorListener);
mContent=内容;
}
@凌驾
公共映射getHeaders()引发AuthFailureError{
HashMap headers=新的HashMap();
标题。put(“api版本”、“1”);
返回标题;
}
@凌驾
公共字节[]getBody()抛出AuthFailureError{
字节[]正文=新字节[0];
试一试{
body=mContent.getBytes(“UTF-8”);
}捕获(不支持的编码异常e){
e(标记“无法从JSON获取字节”,e.fillInStackTrace());
}
返回体;
}
@凌驾
公共字符串getBodyContentType(){
返回“application/json”;
}
}