在android volley请求中获取和发布方法

时间:2017-02-26 13:52:40

标签: android post get android-volley

我对android volley中的post和get request感到困惑。

你能解释一下他们之间的差异吗?

我可以使用没有Param的post方法从URL获取JSON吗?

2 个答案:

答案 0 :(得分:0)

它们的区别在于服务器中定义的功能。

  

简单来说,使用GET方法,您将通过URL发送数据。而使用POST方法,数据嵌入在表单对象中,并直接从浏览器发送到服务器。 ...我们通常使用GET来识别和动态呈现页面,并使用POST来发送表单数据,但并非总是如此。

你的第二个问题的答案是肯定的,你可以,但这不是一个好主意。以下是使用Volley Library发送请求的示例

StringRequest request = new StringRequest(Request.Method.POST, "www.example.com", new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {

    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {

    }
}) {
    @Override
    protected Map<String, String> getParams() {
        Map<String, String> parameters = new HashMap<>();
        return parameters;
    }

    @Override
    public String getBodyContentType() {
        return "application/x-www-form-urlencoded; charset=UTF-8";
    }
};
AppController.getInstance().addToRequestQueue(request, tag);

答案 1 :(得分:0)

您在服务器或服务器上工作是否由其他人处理? 通常,在服务器上工作的人决定该方法。

就像你在JAVA服务器上工作一样,然后说API终点是https://sample.api.someurl.com/userInfo/

为了保持一定的一致性,服务器程序员可以使用GET方法获取userInfo,他可以使用POST方法更新用户信息,他可以使用DELETE方法删除现有的用户信息

在此示例中,您的API端点保持不变,但请求方法决定了该端点的行为方式。

在其他示例中,为了节省时间,服务器开发人员可以将所有请求重定向到一个方法并在那里处理,因此无论您拨打GETPOST还是DELETE API将返回相同的回复。

所以是的,它不是单独决定方法的Android或UI开发人员,决定使用哪种方法的主要角色由服务器程序员决定。

P.S。如果您也在使用服务器,那么最佳做法是使用GET获取信息,POST方法更新或添加信息,DELETE删除信息。