我对android volley中的post和get request感到困惑。
你能解释一下他们之间的差异吗?
我可以使用没有Param的post方法从URL获取JSON吗?
答案 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端点保持不变,但请求方法决定了该端点的行为方式。
在其他示例中,为了节省时间,服务器开发人员可以将所有请求重定向到一个方法并在那里处理,因此无论您拨打GET
,POST
还是DELETE
API将返回相同的回复。
所以是的,它不是单独决定方法的Android或UI开发人员,决定使用哪种方法的主要角色由服务器程序员决定。
P.S。如果您也在使用服务器,那么最佳做法是使用GET
获取信息,POST
方法更新或添加信息,DELETE
删除信息。