当前位置: 首页 > news >正文

Restful风格接口开发

目录

Restful

Apifox

介绍

端口号8080怎么来的?

为什么要使用Apifox?


Restful

如果请求方式是Post,那我就知道了要执行新增操作,要新增一个用户

如果请求方式是Put,那就代表我要修改用户

具体要对这些资源进行什么样的操作,传统的Url通过动词来描述,但Restful风格的Url通过请求方式来描述,由于请求方式是固定的,get是查询,Delete是删除,Post是新增,Put是修改,分别对应于增删改查的四项操作

所以Restful风格的url中有两大特点

第一大特点就是通过Url来定位要操作的资源

/user/1那我就知道我要操作的是一号用户的信息,具体对这个用户进行什么样的操作由请求方式决定

所以Restful风格的url第二大特点就是通过HTTP动词来描述操作,而这块说的HTTP动词指的就是请求方式,通过请求方式就知道到底是对增删改查进行的哪项操作

  • REST是风格,是约定方式,约定不是规定,可以打破

  • 描述模块的功能通常使用复数,也就是加s的格式来描述,表示此类资源,而非单个资源。如:users、emps、books…

Apifox

将来前端和后端都是并行开发的,假设我们后端工程师已经将对应的功能接口都已经开发完毕了,我如何对服务器端的功能接口进行测试

在前端开发过程中,如果服务器端还没有开发好,那前端如何来获取数据来测试页面渲染展示呢?

其实要解决这两个问题,我们只需要借助一个工具就可以了

介绍

API三大功能

第一大功能,可以管理我们项目中的接口文档

第二大功能,也可以基于Apifox来测试我们服务器端所开发的功能接口,也就是接口的请求测试

第三大功能,还可以对前端去提供对应的Mock服务,Mock服务就是为前端提供的模拟的url地址,你访问这个模拟的url地址,我就会对你返回对应的测试数据来供前端测试调试使用的

安装完Apifox之后扫码登录,在主窗口新建项目,这样就新建了一个项目

点击快捷请求,之后要输入一个url地址,这个url就是用来指定你要访问哪个功能接口,在前面选择对应的请求方式

输入http://localhost:8080/hello?name=Tom

端口号8080怎么来的?

后端服务(例如 Spring Boot 应用)在启动时会监听一个特定的端口用于接收 HTTP 请求

端口号 8080 是后端服务配置中指定的,前端或工具(如 Apifox)需要根据后端的实际运行端口来发送请求

在许多 Java Web 框架(如 Spring Boot)中,默认的 HTTP 端口号是 8080

如果开发者没有显式地配置端口号,框架会使用默认值 8080

开发者可以通过配置文件(如 application.properties 或 application.yml)手动设置端口号

通过 application.yml 配置端口

server:
  port: 8080

如果将 server.port 设置为其他值(如 9090),则后端服务会在该端口上运行,URL 也会变成:

http://localhost:9090/hello?name=Tom

Body代表的是请求体中返回的内容

Header展示的是响应头的信息

实际请求中展示了这次请求的相关信息,请求的url地址,请求的方式,以及传递的请求头

为什么要使用Apifox?

由于浏览器地址发起的请求都是GET方式的请求,如果我们需要发起POST,PUT,DELETE方式的请求,就需要借助于这类工具

接口开发

我们接下来在开发每一个功能的时候,首先要先打开页面原型去明确需求,然后再去接口文档去进行功能接口的开发,功能开发好了再进行测试,再进行联调

在接口文档中最基本的三项信息

第一个就是这个接口的基本描述

首先这块有个请求路径,这代表的是将来在请求这个接口的时候,前端的请求路径是什么

当然前面并没有写协议,IP地址,端口号那部分,主要写的是资源的访问路径,资源的访问路径为/depts

由于是查询方式,所以请求方式是GET

下面就有这块接口的描述,是用来查询部分列表数据的

第二个就是请求参数的信息

那由于是查询全部,并没有请求参数,这里可以看到请求参数这里是无,也就是说你在访问这个路径的时候是不需要携带任何参数的

第三个就是相应参数的信息

响应格式是:application/json

就代表这是一个json格式的数据,最终需要给前端响应json格式的数据

下面有响应数据的样例

那响应回去的数据就是一个标准的统一响应结果,第一项code就代表是否操作成功,那为1就代表操作成功,为0就代表操作失败

接下来第二项msg就代表提示信息,如果成功的话,那我们最终返回的就是一个默认的succes,如果失败因为什么原因失败,我们需要给前端响应回去

第三项信息是data,data就代表我们要给前端返回的数据,如果是增删改通常来说我们是不需要给前端返回数据的,data返回Null就可以了,如果是查询,查询是需要返回数据的,在data里面就是查询返回的结果,由于查询的是全部的部门,那在Json格式的数据中,如果是一个数组或者List集合,那么这个时候外层是一个中括号,这代表的是一个json格式的数组,里面是一层一层的大括号,大括号代表的是一个一个的对象,里面封装的就是一个一个部门的信息

相关文章:

  • 制造业项目管理如何做才能更高效?制造企业如何选择适配的数字化项目管理系统工具?
  • 【软件测试】bug 篇
  • 足迹在后 脚步向前
  • 过拟合、归一化、正则化、鞍点
  • java中的List集合去重
  • springBoot接入文心一言
  • 计算机视觉与深度学习 | 基于Matlab的钢筋计数
  • spark的堆外内存,是在jvm内还是操作系统内存内?
  • 什么是ISO20000认证,认证ISO20000有什么好处?重要意义
  • Pytest 自动化测试框架详解
  • 【物联网-RS-485】
  • MySQL InnoDB存储引擎中的日志系统解析:binlog、redo log、undo log
  • 笔记:代码随想录算法训练营day67:Floyd 算法精讲、A * 算法精讲 (A star算法) 严重超时完结,不过,撒花
  • HTML5+CSS前端开发【保姆级教学】+超链接标签
  • 如何保证本地缓存和redis的一致性
  • GEO全域优化白皮书:盈达科技如何打造AI生态中的认知护城河
  • 林纳斯·托瓦兹:Linux系统之父 Git创始人
  • Python 类方法
  • C2000 ADC和DAC实验
  • Java 开发工具:从 Eclipse 到 IntelliJ IDEA 的进化之路
  • 联合国秘书长欢迎中美经贸高层会谈成果
  • 云南威信麟凤镇通报“有人穿‘警察’字样雨衣参与丧事”:已立案查处
  • 真人秀《幸存者》百万美元奖金,25年间“缩水”近一半
  • 专访|韩国世宗研究所中国研究中心主任:李在明若上台将推行均衡外交
  • 盖茨说对中国技术封锁起到反作用
  • 观众走入剧院空间,人艺之友一起“再造时光”