HTTP请求的学习了解及前后端对接接口时的传参问题
为什么存在post,get,put,delete等多种类型请求?
这是RESTful风格的一种规范
参考链接:HTTP之为什么存在post,get,put,delete等多种类型请求(RESTful风格介绍)
请求类型(Parameter Type)中,query,path,body的区别
query是指请求的参数,一般是指URL中?后面的参数。所以,请求时可以通过?拼接在后面
Query is use for URL parameters and with @Query("password") the URL should be :
user/john?password=****
Path is use to replace item defined in your path, like
user/{username}
Parameter Type 为path时,直接拼接到url中即可。
body是指请求体中的数据
参考链接1:Query和Path的区别
参考链接2:POST请求的query参数和body参数共存怎么处理
参考链接3:HTTP请求中的header query 和body
通过axios请求时需要注意的
如下官方文档中所示的,是指理论上的情况,比如:post请求时,要加data参数。实际上,data参数表示的是放在请求体body中的参数。// data
is the data to be sent as the request body。所以,假设一个post接口,它的参数类型是query(理论上,post接口中,敏感信息和大量参数是不要通过query方式的,而是放在body中),那么就不需要data参数,而是通过params参数或省略params即可。
小结:
-
params会将请求的参数拼接到url中去,常用于get请求
-
data是添加到请求体(body)里面去,常用于post请求
so,学习一个东西,要了解到稍微本质的内容,而不是单纯记忆get请求时用params,post请求用data这种(针对axios),当了解了一些内容的时候,才不会质疑自己,而是质疑不规范。
axios#request(config)
axios#get(url[, config])
axios#delete(url[, config])
axios#head(url[, config])
axios#options(url[, config])
axios#post(url[, data[, config]])
axios#put(url[, data[, config]])
axios#patch(url[, data[, config]])
axios#getUri([config])
参考链接1:axios