黑马JavaWeb开发笔记07——Ajax、Axios请求、前后端分离开发介绍、Yapi详细配置步骤

文章目录

  • 前言
  • 一、Ajax
    • 1. 概述
    • 2. 作用
    • 3. 同步异步
    • 4. 原生Ajax请求(了解即可)
    • 5. Axios(重点)
      • 5.1 基本使用
      • 5.2 Axios别名(简化书写)
  • 二、前后端分离开发
    • 1. 介绍
      • 1.1 前后台混合开发
      • 1.2 前后台分离开发方式(主流)
    • 2.YApi
      • 2.1 简介
      • 2.2 YAPI接口平台中对于接口的配置步骤
  • 总结


前言

本篇文章是2023年最新黑马JavaWeb企业级开发笔记07:Ajax、Axios请求、前后端分离开发介绍、Yapi配置步骤的总结,帮助需要学习Web开发的朋友温故而知新。

  1. Ajax
  2. Axios
  3. 前后端分离开发介绍
  4. Yapi接口管理配置步骤

一、Ajax

1. 概述

  • Ajax: 全称Asynchronous JavaScript And XML异步的JavaScript和XML
  • 前端页面中的数据,应该来自于后台,后台和前端是互不影响的2个程序,那么前端应该如何从后台获取数据呢?因为是2个程序,所以必须涉及到2个程序的交互,所以这就需要用到Ajax技术。

2. 作用

  • 与服务器进行数据交互

    • 如下图所示:前端资源被浏览器解析,但是前端页面上缺少数据,可以通过Ajax技术,向后台服务器发起请求,后台服务器接受到前端的请求,从数据库中获取前端需要的资源,然后响应给前端,前端在通过我们学习的vue技术,可以将数据展示到页面上,这样用户就能看到完整的页面了。
    • 此处可以对比JavaSE中的网络编程技术来理解
      在这里插入图片描述
  • 异步交互

    • 可以在不重新加载整个页面的情况下,与服务器交换数据更新部分网页的技术。
    • 如下图所示:当我们在百度搜索java时,下面的联想数据是通过Ajax请求从后台服务器得到的,在整个过程中,我们的Ajax请求不会导致整个百度页面的重新加载,并且只针对搜索栏这局部模块的数据进行了数据的更新,不会对整个页面的其他地方进行数据的更新,这样就大大提升了页面的加载速度,用户体验高
      在这里插入图片描述

3. 同步异步

针对于上述Ajax的局部刷新功能是因为Ajax请求是异步的,与之对应的有同步请求。

  • 同步请求发送过程如下图所示:
    在这里插入图片描述
    浏览器页面在发送请求给服务器,在服务器处理请求的过程中,浏览器页面不能做其他的操作。只能等到服务器响应结束后,浏览器页面才能继续做其他的操作
  • 异步请求发送过程如下图所示:
    在这里插入图片描述

4. 原生Ajax请求(了解即可)

  • 准备数据地址:http://yapi.smart-xwork.cn/mock/169327/emp/list
  • 创建XMLHttpRequest对象:用于和服务器交换数据
  • 向服务器发送请求
  • 获取服务器响应数据

具体的步骤此处就不介绍了,过程比较繁琐,可以自己去了解一下。

5. Axios(重点)

Axios是对原生的AJAX进行封装,简化书写。
Axios官网是:https://www.axios-http.cn

5.1 基本使用

  • 引入Axios文件:<script src="js/axios-0.18.0.js"></script>

  • 使用Axios发送请求,并获取响应结果,官方提供的api很多,此处给出2种,如下

    • 发送 get 请求
      在这里插入图片描述

    • 发送 post 请求
      在这里插入图片描述

  • axios() 是用来发送异步请求的,小括号中使用 js的JSON对象传递请求相关的参数

    • method属性:用来设置请求方式的。取值为 get 或者 post。
    • url属性:用来书写请求的资源路径。如果是 get 请求,需要将请求参数拼接到路径的后面,格式为: url?参数名=参数值&参数名2=参数值2
    • data属性:作为请求体被发送的数据。也就是说如果是 post 请求的话,数据需要作为data 属性的值
  • then() 需要传递一个匿名函数。我们将 then()中传递的匿名函数称为回调函数,意思是该匿
    名函数在发送请求时不会被调用,而是在成功响应后调用的函数。而该回调函数中的 resp 参数是对响应的数据进行封装的对象,通过 resp.data 可以获取到响应的数据。

5.2 Axios别名(简化书写)

在这里插入图片描述
在这里插入图片描述

二、前后端分离开发

1. 介绍

  • 前端开发有2种方式:前后台混合开发前后台分离开发

1.1 前后台混合开发

  • 这种开发模式有如下缺点
    • 沟通成本高:后台人员发现前端有问题,需要找前端人员修改,前端修改成功,再交给后台人员使用
    • 分工不明确:后台开发人员需要开发后台代码,也需要开发部分前端代码
    • 不便管理:所有的代码都在一个工程中
    • 不便维护和扩展:前端代码更新,和后台无关,但是需要整个工程包括后台一起重新打包部署

1.2 前后台分离开发方式(主流)

  • 将工程分为前端和后端这2个工程,交给不同人员分别开发
    在这里插入图片描述

  • 前端页面需要数据,可以通过发送异步请求,从后台获取

  • 前后台开发人员都需要遵循同一套规范开发,这就是接口文档,保证前端人员知道后台返回数据格式,后端人员知道前端需要的数据格式

    • 接口文档有离线版和在线版本,接口文档示可以查询今天提供资料/接口文档示例里面的资料
    • 接口文档的内容是后台开发者根据产品经理提供的产品原型和需求文档所撰写出来的
      接口文档示例
      在这里插入图片描述
  • 后台开发者开发一个功能的具体流程如下图所示:
    在这里插入图片描述

    • 需求分析:需要阅读需求文档,分析需求,理解需求
    • 接口定义:查询接口文档中关于需求的接口的定义,包括地址,参数,响应数据类型等等
    • 前后台并行开发:各自按照接口文档进行开发,实现需求
    • 测试:前后台开发完,各自按照接口文档进行测试
    • 前后段联调测试:前段工程请求后端工程,测试功能

2.YApi

2.1 简介

  • 前后台分离开发中,我们前后台开发人员都需要遵循接口文档
  • YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务
  • 官网地址:https://yapi.pro/
  • YApi主要提供了2个功能
    • API接口管理:根据需求撰写接口,包括接口的地址,参数,响应等等信息。
    • Mock服务:模拟真实接口,生成接口的模拟测试数据,用于前端的测试。

2.2 YAPI接口平台中对于接口的配置步骤

注意:我进去看了一下,这个网站非常不稳定,非常卡顿,并且很多人反映无法注册,推测需要魔法。我用Google账号登陆后网站仍然无法正常操作,读者可以选择使用其他类似的管理平台(据说国产的apifox作用差不多),此处为了符合视频笔记,仍然会写明Yapi的配置步骤。

演示一下YApi如何管理接口文档:

  1. 首先登录YAPI的官网,然后使用github或者百度账号登录

  2. 个人空间中,选择项目列表->添加测试项
    在这里插入图片描述

  3. 然后点击创建的项目,进入到项目中,紧接着先添加接口的分类
    在这里插入图片描述

  4. 然后我们选择当前创建的分类,创建接口信息
    在这里插入图片描述

  5. 来到接口的编辑界面,对接口做生层次的定制,例如:接口的参数,接口的返回值等等
    在这里插入图片描述

  6. 添加接口的请求参数
    在这里插入图片描述

  7. 添加接口的返回值
    在这里插入图片描述

  8. 然后保存上述设置,紧接着我们可以来到接口的预览界面,查询接口的信息,其效果如下图所示
    在这里插入图片描述

  9. 最后,我们还可以设置接口的mock信息
    在这里插入图片描述

  10. 来到接口的Mock设置窗口
    在这里插入图片描述

  11. 来到接口的预览界面,直接点击Mock地址
    在这里插入图片描述

  12. 发现浏览器直接打开,并返回如下数据
    在这里插入图片描述


总结

本篇文章是2023年最新黑马JavaWeb企业级开发(知识清单)07:Ajax、Axios请求、前后端分离开发介绍、Yapi配置步骤的总结,帮助需要学习Web开发的朋友温故而知新。

  1. Ajax
  2. Axios
  3. 前后端分离开发介绍
  4. Yapi接口管理配置步骤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker续6:容器网络

1.bridge-utils 一个用于Linux系统的网络桥接工具集。它提供了一些命令行工具&#xff0c;帮助用户创建、管理和配置网络桥接。网络桥接是一种将多个网络接口连接在一起&#xff0c;以使它们能够作为单个网络段进行通信的技术。 bridge-utils 常用的命令包括&#xff1a; b…

【 OpenHarmony 系统应用源码魔改 】-- Launcher 之「桌面布局定制」

前言 阅读本篇文章之前&#xff0c;有几个需要说明一下&#xff1a; 调试设备&#xff1a;平板&#xff0c;如果你是开发者手机&#xff0c;一样可以加 Log 调试&#xff0c;源码仍然是手机和平板一起分析&#xff1b;文章中的 Log 信息所显示的数值可能跟你的设备不一样&…

单片机编程魔法师-并行多任务程序

程序架构 程序代码 小结 数码分离&#xff0c;本质上就是将数据和代码逻辑进行分离&#xff0c;跟第一章使用数据驱动程序一样的道理。 不过这里不同之处在于。这里使用通过任务线程&#xff0c;但是却有2个任务在运行&#xff0c;两个任务都通过先初始化任务数据参数&#x…

SQLite的安装和使用

一、官网链接下载安装包 点击跳转 步骤&#xff1a;点击安装这个红框的dll以及红框下面的tools &#xff08;如果有navicat可以免上面这个安装步骤&#xff0c;安装上面这个是为了能在命令行敲SQL而已&#xff09; 二、SQLite的特点 嵌入的&#xff08;无服务器的&#x…

hello树先生——AVL树

AVL树 一.什么是AVL树二.AVL树的结构1.AVL树的节点结构2.插入函数3.旋转调整 三.平衡测试 一.什么是AVL树 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。…

python学习——爬虫之session请求处理cookie

import requestssessionrequests.session() url"https://passport.17k.com/ck/user/login" data{"loginName": "19139186287","password":"2001022600hzk"} ressession.post(url,datadata) print(res.text)# session通过会话…

Windows系统中批量管理Windows服务器远程桌面工具——RDCMan

一、背景 在公司没有部署对应的堡垒机系统之前,做运维测试工作的人员,需要管理大量的服务器,每天需要对服务器进行必要的巡检、系统更新发布等内容,特别是有很多Windows服务器的时候,如果我们使用Windows自带的“远程桌面连接”只能一台台连接,比较繁琐。并且不能知道那台…

【手撕数据结构】二叉树的性质

目录 叶子节点和边的性质概念小试牛刀 叶子节点和边的性质 概念 可以看到度为0的节点如F没有边&#xff0c;度为1的节点如C有一条边&#xff0c;而度为2的节点如B有两条边。那么设度为2的节点为a个&#xff0c;度为1的节点为b个。二叉树边 2ab另⼀⽅⾯&#xff0c;由于共有 a…

AcWing 897. 最长公共子序列

动态规划就是多见识应用题就完事儿了&#xff0c;也没有什么好说的。 讲解参考&#xff1a; 【E05 线性DP 最长公共子序列】 #include<iostream> #include<algorithm> #define N 1010 using namespace std; char a[N],b[N]; int n,m; int f[N][N]; int main(){…

Loki Unable to fetch labels from Loki (no org id)

应该是多租户相关导致的 参考文档: 参考文档cMulti-tenancy | Grafana Loki documentationDescribes how Loki implements multi-tenancy to isolate tenant data and queries.https://grafana.com/docs/loki/latest/operations/multi-tenancy/ https://github.com/grafana…

主流AI绘画工具-StableDiffusion本地部署方法(mac电脑版本)

Stable Diffusion是一款强大的AI生成图像模型&#xff0c;它可以基于文本描述生成高质量的图像。对于想要在本地运行此模型的用户来说&#xff0c;使用Mac电脑部署Stable Diffusion是一个非常吸引人的选择&#xff0c;特别是对于M1或M2芯片的用户。本文将详细介绍如何在Mac上本…

高效能低延迟:EasyCVR平台WebRTC支持H.265在远程监控中的优势

TSINGSEE青犀视频EasyCVR视频汇聚平台在WebRTC方面确实支持H.265编码&#xff0c;尽管标准的WebRTC API在大多数浏览器中默认并不支持H.265&#xff08;也称为HEVC&#xff0c;高效视频编码&#xff09;编码。EasyCVR平台通过一系列创新的技术手段&#xff0c;实现了在WebRTC协…

食家巷中秋美食,味蕾上的团圆盛宴

月到中秋分外明&#xff0c;在这个充满温情与思念的节日里&#xff0c;美食成为了人们传递情感、共享团圆的重要载体。而食家巷&#xff0c;以其独特的中秋美食&#xff0c;为这个佳节增添了一抹别样的风味。 走进食家巷&#xff0c;仿佛踏入了一个美食的宝藏之地。这里的传统…

excel规划求解结合vba宏笔记

目录 概念与配置 规划求解定义 excel设置规划求解 宏的基本操作 excel批量进行规划求解案例 加载规划求解模块 宏的设置 宏录制vba 其他案例 概念与配置 规划求解定义 运用“规划求解”定义并求解问题 - Microsoft 支持 excel设置规划求解 EXCEL规划求解的简明教程…

突破代码:克服编程学习中的挫折感

目录 一、心态调整&#xff1a;心理韧性的培养 接受挫折是学习的一部分 设置实际的学习目标 保持学习的乐趣 二、学习方法&#xff1a;策略的实施 逐步解决问题 寻找多样的学习资源 定期复习与实践 三、成功经验&#xff1a;实例的启示 Debug的技巧掌握 算法的深入理…

开发中如何在运行/调试时将项目热部署到Tomcat

这里有一篇不错的博客&#xff0c;可以参考 http://t.csdnimg.cn/oWcgm 正常情况下&#xff0c;我们将web项目打包成war包后&#xff0c;需要放到tomcat的webapps路径下&#xff0c;然后启动tomcat&#xff0c;才能正常访问。但是这在开发阶段是极为不便的。因此可以使用两种方…

Qt_两种创建组件的方式-通过图形化-通过代码

文章目录 一、通过图形化的方式&#xff0c;在界面上创建一个控件&#xff0c;显示hello world1.打开UI设计界⾯2.拖拽控件⾄ ui 界⾯窗⼝并修改内容3.构建并运行 二、通过代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c;显示hello world在Widget…

AIGC提示词(2):塑造未来内容创作的核心力量

引言 &#x1f31f; 在这个数字化的时代&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;正变得越来越普遍。从自动写作到图像生成&#xff0c;AI正以前所未有的速度和多样性创造内容。然而&#xff0c;要实现高质量和相关性强的内容生成&#xff0c;关键在于有效地…

已成功入职小米大模型岗!!大模型面试其实挺水的,hr听到这些直接过

小米大模型面试180题 1、目前比较受欢迎的开源大模型有哪些&#xff1f; GPT系列&#xff1a;由OpenAl开发的生成式预训练模型&#xff0c;如 GPT-3。 BERT系列&#xff1a;由Google开发的转换式预训练模型&#xff0c;如BERT、RoBERTa等。 T5系列&#xff1a;由Google开发的基…

003、架构_详解(重点)

GoldenDB 分布式数据库框架 DN和RDB增加了备节点;引入新模块CM,且GTM、MDS、PM、CM都增加备节点;MDS、PM、CM、RDB被统一在了管理节点之中;GTM和MDS间多了一条连线,因为GTM的切换由MDS把控;初步系统架构mysqld:一般称为DB节点,负责单个节点的数据处理; dbproxy:一般…