目录
五、SprintBoot+html/css/js+mybatis实现一个简单的登录接口
前言
做测试时,经常遇到定位bug,需要去分析是前端还是后端的问题,首先了解MVC架构的原理,其次自己做个简单的项目,用SpringBoot+html/css/js+mybatis实现一个简单的登录接口,最后,对接口测试有更深入的理解,遇到问题不慌,能快速找到问题的根源,结合以前做项目的经验,做一些总结。
一、MVC架构
我自己的理解是:我们在网页端看到的所有东View层,前端拿到的数据展示给用户,在这一层,当有很明显的问题或bug出现时,我们需要打开开发者工具F12查看请求信息以及接口返回的信息,到了Controller这层,前端请求数据是不是对的,后端返回的数据是不是对的,那后端的数据从哪里来的?需要去访问数据库,到了Model这一层,服务端需要从数据里拿数据进行返回。
也与日常测试流程大致一致,看到页面的问题,先看下接口相关信息,再去查看数据的数据,以便更准确地知晓哪里出现了问题。
View层-->视图层,用户页面
Controller层-->控制层,处理用户请求
model层-->业务对象的实现,对数据库中业务对象进行操作,业务对象的操作逻辑
具体什么是MVC架构,可以看看下面的这篇博客,写得很不错。
MVC三层架构(详解)_mvc三层架构是哪三层_天天向上的菜鸡杰!!的博客-优快云博客
二、环境准备:
windows 10
IDE版本 我用的是2021,后面安装依赖时遇到了和IDE版本不兼容的问题
新建一个spring initializr项目
SDK版本我用的是1.8
Java版本用的是8
Maven版本用的是3.8.1
三、状态码
接口返回的状态码,笔者在之前遇到一个面试,面试官上来就是问某个状态码返回是什么意思,当时就问住我了,不过现在回想起来,问到非常具体的某个返回的状态码是什么意思,我也记不住,只能是大概推测发生了什么,后来在工作中也经常遇到接口返回状态码,有时候前端后端问题还分不清楚,现在通过写一个接口自己回顾一下。
非常全面的响应状态码,可以看一下,记得住吗?
HTTP 响应状态码 - HTTP | MDN (mozilla.org)
接口测试中常用的get、post请求
创建一个SprootBoot项目,具体代码实现如下:
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.ann