springMVC实验(二)—调式工具APIFOX的使用

【知识要点】

  1. 后端开发调试工具
    前后端分离已经成为互联网类软件开发主流模式,没有前端操作的支持,如何调试后端程序的就是开发人员必须解决的问题。如:get类请求可以直接使用浏览器就能模拟测试,但是post、put等类型的请求,则需要专门工具进行辅助测试。在实际开发中这种类型的辅助测试工具很多,如:idea集成的HTTP client、postman、Apifox等,其中Apifox是国内推出的一款调试工具,目前无论前端开发还是后端开发必须掌握的一中工具
  2. Apifox简介
    Apifox是广州睿狐科技有限公司主持开发的接口管理工具,主要服务有API 文档,API 调试、API 数据 Mock、API 自动化测试。它是一站式接口协作平台,能够通过一套系统、一份数据,解决多个系统之间的数据同步问题。在调试方面,Apifox不仅全面兼容Postman功能和脚本语法,而且后端人员可以使用接口用例调试开发中接口,只要所有接口用例调试通过,接口就开发完成了,当已开发的接口有变化,调试的时就系统自动更新了文档,零成本的保障了接口维护的及时性。

【实验目的】

  1. 掌握Apifox工具的安装配置
  2. 掌握使用Apifox进行后端服务的调试

【实验内容】

  1. Apifox安装
  2. 使用apifox调试学生信息的查询和新增
  3. 使用Apifox IDEA插件快速生成接口文档

【实验步骤】

1. Apifox安装与使用

1)进入apifox官方主页,下载apifox,下载安装包解压安装即可使用。
2) 安装完成后,启动软件,登录后进入系统。如果首次使用该软件,需要注册账户,注册完成后登录进入系统,界面如下图所示。
在这里插入图片描述
3) 登录与注册。登录之后就会有一个个人项目,里面有一个项目案例给你简单介绍这个地方的使用,会让使用者进行一个简单的了解。
4)测试环境设置。进入到创建的项目,便可以设置测试环境,如下图所示
在这里插入图片描述
5) 编写要测试的接口,添加接口过程如下图所示。测试接口编写完成后,在开发环境中启动应用,便可以开始调试。

2. 创建SpringMVC工程

1) 创建SpringMVC工程demo1
2) 项目中需要将Java对象字符换转Json字符串,需要添加fastjson坐标,如下所示

<dependency>  <groupId>com.alibaba</groupId>  <artifactId>fastjson</artifactId>  <version>1.2.72</version>  
</dependency>

3)项目中使用到HttpServletResponse,需要添加javax.servlet-api的坐标,如下所示

<dependency>  <groupId>javax.servlet</groupId>  <artifactId>javax.servlet-api</artifactId>  <version>3.1.0</version>  <scope>compile</scope>  
</dependency> 

3. 示例代码编写

1) 在com.bjwl.vo包中添加学生实体类(StudentVO),代码如下所示

public class StudentVO {  private  String sno;  private  String name;  private  Integer age;  //省略getter、setter方法  
}  

2)在com.bjwl.controller包中添加学生实体类(StudentController),代码如下所示

@Controller  
@RequestMapping(value = "student")  
public class StudentController {  private List<StudentVO> getStudents() {  List<StudentVO> students = new ArrayList<>();  StudentVO student1 = new StudentVO();  student1.setSno("001");  student1.setName("张小凡");  student1.setAge(18);  students.add(student1);  StudentVO student2 = new StudentVO();  student2.setSno("002");  student2.setName("陆雪琪");  student2.setAge(18);  students.add(student2);  return students;  }  @RequestMapping("list")  public void getAllStudent(HttpServletResponse response) throws IOException {  List<StudentVO> students = getStudents();  response.setContentType("text/html;charset=utf-8");  response.getWriter().write(JSON.toJSONString(students));  }  @RequestMapping("add")  public void InsertStudent(HttpServletRequest request, HttpServletResponse response) throws IOException {  List<StudentVO> students = getStudents();  //处理请求中文乱码问题  request.setCharacterEncoding("UTF-8");  StudentVO student = new StudentVO();  student.setSno(request.getParameter("sno"));  student.setName(request.getParameter("name"));  student.setAge(Integer.parseInt(request.getParameter("age").toString()));  students.add(student);  //处理响应中文乱码问题  response.setContentType("text/html;charset=utf-8");  response.getWriter().write(JSON.toJSONString(students));  }  
} 

程序调试

  1. 如果需要调试,设置断点,启动运行程序。
  2. 测试获取学生信息接口。打开apifox,添加学生信息获取接口student/list。设置请求参数,因为本次请求不携带参数,则无需设置参数;设置响应参数,由于代码中将ContentType设置为“text/html;charset=utf-8”,对应的响应参数为html。保存后运行,运行结果如下图所示
    在这里插入图片描述
    3)调试新增学生接口,打开apifox,添加新增学生信息获取接口student/add,请求方法的类型为post方法,设置请求参数,Content-Type类型为application/x-www-form-urlencoded,请求参数为学生的属性信息;同样响应报文的参数必须设置为“text/html;charset=utf-8”,保存后运行结果如下图所示
    在这里插入图片描述

4. 自动化接口文档生成工具—Apifox IDEA插件的使用

  1. 打开IDEA > File > Settings> Plugins,搜索并安装Apifox Helper,也可以离线下载包文件在此安装。
  2. 安装完成后,重启Idea系统。启动后进入设置界面Settings > ApifoxHelper,进行相关设置页面,如下图所示。
    在这里插入图片描述
    3) 同步模块内所有接口。在模块目录上的右键菜单中选择 Upload to Apifox,将模块中的接口导出到Apifox中,导入结果如下图所示
    在这里插入图片描述

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

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

相关文章

Ubuntu 环境下 NFS 服务安装及配置使用

需求&#xff1a;公司内部有多台物理服务器&#xff0c;需要A服务器上的文件让B服务器访问&#xff0c;也就是两台服务器共享文件&#xff0c;当然也可以对A服务器上的文件做权限管理&#xff0c;让B服务器只读或者可读可写 1、NFS 介绍 NFS 是 Network FileSystem 的缩写&…

可以在电脑桌面展示工作计划表的软件

很多上班族都表示自己在工作时&#xff0c;会面临大量且复杂的工作任务&#xff0c;这时候就会拖延工作&#xff0c;或者感觉时间不够用&#xff0c;所以需要有明确的工作计划来指导自己如何分类时间和精力&#xff0c;确保每项工作任务都能够按时完成。如果需要制定每天的工作…

C++学习之路(十二)C++ 用Qt5实现一个工具箱(增加一个XML文本格式化功能)- 示例代码拆分讲解

上篇文章&#xff0c;我们用 Qt5 实现了在小工具箱中添加了《进制转换器功能》功能。为了继续丰富我们的工具箱&#xff0c;今天我们就再增加一个平时经常用到的功能吧&#xff0c;就是「 XML文本格式化 」功能。下面我们就来看看如何来规划开发一个这样的小功能并且添加到我们…

模拟算法【1】

文章目录 &#x1f600;1576. 替换所有的问号&#x1f606;题目&#x1f929;算法原理&#x1f642;代码实现 &#x1f60a;495.提莫攻击&#x1fae0;题目&#x1f609;算法原理&#x1f917;代码实现 模拟算法 通俗的来说&#xff0c;模拟算法就是依葫芦画瓢&#xff0c;将题…

React 签字手写签名组件 react-signature

安装依赖包 npm install uiw/react-signature示例代码 import React, { useRef } from "react"; import Signature from uiw/react-signature;export default function App() {const $svg useRef(null);const handle (evn) > $svg.current?.clear();return (…

[ISCTF2023] Crypto/PWN/Reverse

最近新生赛还挺多&#xff0c;不过这个开始后注册页面就被删了&#xff0c;没注册上。拿别人的附件作了下。 Crypto 七七的欧拉 这题只给了n,e,c这种情况一般正常没法解&#xff0c;猜n不正常 import gmpy2 import libnum from crypto.Util.number import *flagbISCTF{****…

【C/C++笔试练习】this指针的概念、初始化列表、const对象调用、构造和析构函数、继承和组合、重载和多态、虚函数的定义、计算日期到天数转换、幸运的袋子

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;this指针的概念&#xff08;2&#xff09;初始化列表&#xff08;3&#xff09;const对象调用&#xff08;4&#xff09;构造和析构函数&#xff08;5&#xff09;继承和组合&#xff08;6&#xff09;重载和多态&#x…

7Docker搭建es和kibana

一、安装es 1.拉取镜像 sudo docker pull elasticsearch:7.12.0 elasticsearch:7.12.0:我安装的版本是7.12.0&#xff0c;可以根据实际的情况安装 创建docker容器挂在的目录&#xff1a; sudo mkdir -p /opt/elasticsearch/config sudo mkdir -p /opt/elasticsearch/data s…

TA-Lib学习研究笔记(一)

TA-Lib学习研究笔记&#xff08;一&#xff09; 1.介绍 TA-Lib&#xff0c;英文全称“Technical Analysis Library”,是一个用于金融量化的第三方库&#xff0c;涵盖了150多种交易软件中常用的技术分析指标&#xff0c;如RSI,KDJ,MACD, MACDEXT, MACDFIX, SAR, SAREXT, MA,SM…

nacos配置变更导致logback日志异常

问题背景: 线上的服务突然内存爆满&#xff0c;查服务器突然发现&#xff0c;日志全部打印到了/tmp/tomcat.xxx.port目录下&#xff0c;后来对应操作时间&#xff0c;和nacos修改配置是同一时间发生的&#xff0c;但是疑惑的点是&#xff0c;nacos配置变更为什么会引起logback的…

OpenMMlab导出FCN模型并用onnxruntime推理

导出onnx文件 直接使用脚本 import torch from mmseg.apis init_modelconfig_file configs/fcn/fcn_r18-d8_4xb2-80k_cityscapes-512x1024.py checkpoint_file fcn_r18-d8_512x1024_80k_cityscapes_20201225_021327-6c50f8b4.pth model init_model(config_file, checkpoin…

基于Java SSM框架实现高校二手交易平台系统项目【项目源码+论文说明】

基于java的SSM框架实现高校二手交易平台系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个高校二手交易平台&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将…

数据清洗和特征工程的关系是什么?有什么区别?

1.数据清洗独立于特征工程 数据清洗是独立于特征工程的&#xff1a;一方面&#xff0c;数据清洗不仅适用于机器学习项目&#xff0c;也适用于一般的数据统计分析过程&#xff0c;而特征工程仅适用于机器学习项目&#xff1b;另一方面&#xff0c;针对机器学习项目&#xff0c;…

001 - 安装Qt并配置环境

进入Qt中文网站的下载界面 &#x1f449;点此进入 点进去之后&#xff0c;你会看到如下界面&#xff1a; 这里下载的是Qt开源版的在线安装器&#xff0c; 如果你觉得下载速度很慢&#xff0c;可以挂个梯子。双击打开&#xff1a; 因为是在线安装&#xff0c;所以你需要输入电子…

【Web安全】拿到phpMyAdmin如何获取权限

文章目录 1、outfile写一句话2、general_log_file写一句话 通过弱口令拿到进到phpMyAdmin页面如何才能获取权限 1、outfile写一句话 尝试执行outfile语句写入一句话木马 select "<?php eval($_REQUEST[6868])?>" into outfile "C:\\phpStudy\\WWW\\p…

数据结构day4作业

1.单链表任意位置删除 datetype pos;printf("please input pos");scanf("%d",&pos);headdelete_all(head,pos);Output(head);Linklist delete_all(Linklist head,datetype pos) {if(pos<1||pos>length(head)||headNULL)return head;if(head->…

Web安全漏洞分析-XSS(上)

随着互联网的迅猛发展&#xff0c;Web应用的普及程度也愈发广泛。然而&#xff0c;随之而来的是各种安全威胁的不断涌现&#xff0c;其中最为常见而危险的之一就是跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称XSS&#xff09;。XSS攻击一直以来都是Web安全领…

万界星空科技/仓库管理WMS系统/免费仓库管理系统

仓库管理&#xff08;仓储管理&#xff09;&#xff0c;指对仓库及仓库内部的物资进行收发、结存等有效控制和管理&#xff0c;确保仓储货物的完好无损&#xff0c;保证生产经营活动的正常进行&#xff0c;在此基础上对货物进行分类记录&#xff0c;通过报表分析展示仓库状态、…

使用Python爬取快手视频与评论(App与Web端分析)

文章目录 1. APP端抓包配置2. APP端抓包分析3. Web端抓包分析4. 爬虫代码实现 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a…

酷开科技:让体育迷的热情释放,让运动精神传递

在繁忙的生活节奏中&#xff0c;我们总是被各种琐事所困扰&#xff0c;很难抽出时间去享受运动带来的快乐&#xff0c;甚至很少有时间去观看一场体育赛事。而一场好的体育赛事带给体育爱好者的快乐往往来自于两方面&#xff0c;一是线下参与&#xff0c;感受现场带来的震撼&…