axios功能简介

  • 从浏览器中创建XMLHttpRequests
  • 从node.js创建http请求
  • 支持Promise API
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防御XSRF

axios 基础

安装axios:

cnpm install axios --save

在main.js中引入axios:

import axios from ‘axios’
Vue.prototype.$axios = axios;

简介使用:

//get方法
this.$axios.get(url,{params: {id: 1001}
}).then(function(res){//成功回调
}).cache(function(err){//错误回调
}) //post方法
this.$axios.post(url,{id: 1001
}).then(function(res){//成功回调
}).cache(function(err){//错误回调
}) //通过传递相关配置来进行请求
this.$axios({method: 'get', //posturl:'https://www.hcshow.online/',params: {id: 1001}
}).then(function(res) {console.log(res)
})

axios 请求接口的方式

  • get:一般多用于获取数据
  • post:主要提交表单数据和上传文件
  • put:对数据全部进行更新
  • patch:只对更改过的数据进行更新
  • delete:删除请求

axios传参方式

  • params:{…} 将参数加在URL上传参
  • data:{…} 放在RequestBody中传参 并且 以Json格式发送

Get

示例一:拼串方式携带参数

  • 前端
let currentPage = 2
let _this = this
_this.$axios.get('/blog/list?currentPage=' + currentPage).then(res => { //get方式请求console.log(res)
})
  • 后端
@GetMapping("/list")
public Result list(@RequestParam(defaultValue = "1") Integer currentPage) {}

示例二:params方式携带参数

  • 前端
    data () {return {queryInfo: {//获取博客列表的查询参数query: 'Java Set',pageNum: 1, //当前的页数pageSize: 4 //当前每页显示多少条数据}}},methods: {page (currentPage) {let _this = this_this.$axios.get('/blog/list' ,{  //get请求params:_this.queryInfo}).then(res => {})}}}

对应的请求

  • 后端
    参数:直接在参数表上接收
@GetMapping("/list")  //get请求
public Result list(String query,Integer pageNum,Integer pageSize){}

Post

示例一:直接传递参数

  • 前端
export default {data () {return {queryInfo: { //获取用户列表的查询参数query: {'username': 'zhangsan','password': '1234'}}}},methods: {page (queryInfo) {let _this = this_this.$axios.post('/user/list', queryInfo).then(res => { //post方式请求console.info(res)})}}}
  • 后端

处理用户请求的Controller

@PostMapping("/user/list")
public Result list(@RequestBody(required = false) String param) throws JsonProcessingException {//解析前端传递过来的数据param.....
}

注意:实际测试下面方式不能获取到前端传递过来的数据

@PostMapping(value ="/login")
public Result login(String username,String password){return null;
}

示例二:data方式传递参数

  • 前端
    data () {return {queryInfo: {//获取博客列表的查询参数query: 'Java Set',pageNum: 1, //当前的页数pageSize: 4 //当前每页显示多少条数据}}},methods: {page (currentPage) {let _this = this_this.$axios.post('/blog/list' ,{   //post请求data:_this.queryInfo}).then(res => {})}}
}

对应的请求

  • 后端
    接收Json字符串自己取出各参数(只要不是通过URL传参,参数都在 RequestBody 中)
@PostMapping("/list")
public Result list(@RequestBody String param){}

Put

示例一:

  • 前端
let _this = this
_this.$axios.put(`/user/${user.id}/status`).then(res => { //注意,此处使用的是反斜杠console.log(res)
})
  • 后端
@PutMapping("/user/{userId}/status")
public Result changStatus(@PathVariable("userId") Integer userId){}

示例二:

  • 前端
const param = {userId:1
}
_this.$axios.put('/user/update',param).then(res=>{console.log(res)
})
  • 后端
@PutMapping("/user/update")
public Result changStatus(@PathVariable("userId") Integer userId){}

patch

  • 前端
const param={ids:[1,3,5,8]
}
_this.$axios.patch('/user/p',param).then(res=>{console.log(res)
}),

Delete

  • 前端
_this.$axios.delete('/user/delete',{params:{id:1}}).then(res=>{console.log(res)})

axios请求REST接口示例相关推荐

  1. React Axios 请求解决跨域问题

    网上看了很多的方案,但是不知道为什么,作为初学者,对react不太清楚的话,解决跨域还是有很多的问题.这篇博客针对小白,第一次调试react 跨域问题,甚至第一次使用Axios ,第一次... 废话就 ...

  2. 使用MUI框架构建App请求http接口实例

    简介 最近在看Dcloud的MUI框架,MUI封装了android.ios等多个平台的原生接口,达到开发一个项目,采取不同打包方式,生产多种平台的app. 无可厚非,对于从事java web开发的工程 ...

  3. axios请求接口http_使用axios请求接口,几种content-type的区别详解

    axios的使用 安装(一般使用框架的话, 脚手架都集成了) $ npm install axios 请求示例 // POST axios.post('/user', { firstName: 'Fr ...

  4. vue 接口数据排序_Vue 使用 axios 请求 mock 模拟接口的数据

    安装使用 axios # axios 安装 使用npm install axios --save# main.js 引入 axiosimport axios from 'axios'Vue.proto ...

  5. java请求接口示例_Java 8:功能接口示例

    java请求接口示例 为了支持Java 8中的lambda表达式,他们引入了Functional Interfaces. 具有单一抽象方法的接口可以称为功能接口. Runnable,Comparato ...

  6. java请求接口示例_用示例解释Java接口

    java请求接口示例 介面 (Interfaces) Interface in Java is a bit like the Class, but with a significant differe ...

  7. axios某一接口失败后不调用_axios 源码系列之如何取消请求

    我们在前后端交互的过程中,通常是通过请求接口来实现的,而一个页面中的交互又非常复杂,例如需要多次频繁请求同一个接口,或者在接口还没返回时就要切换路由等.这些都需要对接口请求的时机或者请求接口之后进行处 ...

  8. axios请求接口http_超级简单好用的 Vue封装axios

    简述Axios Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get.post请求.说到get.post, 项目比较大的时候可以使用axios来统一管理请求方式和接口 ...

  9. vue中使用axios请求接口,请求会发送两次

    vue中使用axios请求接口,请求会发送两次的问题 浏览器分为简单请求以及非简单请求: 解决方案: 跨域请求需要先发一次Option预请求,OPTIONS是检验是否允许跨域的,如果不希望OPTION ...

最新文章

  1. CF888G Xor-MST (01字典树+MST)
  2. 透视 CES 2018:不容错过的四大科技趋势
  3. 【转】NHIBERNATE的各种保存方式的区别 (SAVE,PERSIST,UPDATE,SAVEORUPDTE,MERGE,FLUSH,LOCK)
  4. react ui框架_顶级React组件库推荐
  5. Python切片中的误区与高级用法
  6. python高级教程html文件_Python之html转docx文件高级用法
  7. 一建机电实务教材电子版_必背!一建《机电实务》高频考点,每日一背
  8. 肖仰华 | 知识图谱研究的回顾与展望
  9. .NET实现对服务器端目录下PDF文件的预览
  10. 对话奇安信代码安全丨十年砥砺前行 迎来软件供应链安全的风口
  11. MATLAB simulink 2FSK调制与解调实验,附仿真文件(西电B测)
  12. 数据访问优化性能(转载)
  13. 【Python实例第11讲】文本的核外分类
  14. thinkphp5 一周学习总结 10月12日
  15. MSCS+FailSafe 双机集群做HA 小结
  16. JXT查询数据库导入到Execl
  17. zlib库介绍四:zlib算法(LZ77、LZ78、霍夫曼编码、滑动窗口、Rabin-Karp算法、哈希链、I/O缓冲区)
  18. 制作zencart模板的几个步骤
  19. Opengl加载与创建纹理
  20. 华为鸿蒙2.0系统电脑安装步骤,华为鸿蒙系统2.0怎么安装,鸿蒙系统2.0安装教程...

热门文章

  1. Linux安装与卸载JDK
  2. 计算机组成原理方程求根设计,计算机组成原理课程设计.pdf
  3. 技术和学历哪个更重要,用人单位更看重什么?
  4. 三亚:严查“先登记支付房款、后补交社保或个税”行为
  5. 无人机三维建模(4) 建模软件
  6. iOS 关于MBProgressHUD的使用 自定义动画
  7. 有没有关于汽车标志测试的软件,这些交通标志,只有60%的人能完成分辨测试
  8. 问题:wps表格用鼠标滚轮上下移动表格时,不是平滑移动,而是按单元格跳动的。已解决
  9. python初学零基础知识_Python零基础新手入门小知识
  10. Python快速入门——Day3