2026/1/9 4:27:30
网站建设
项目流程
哈尔滨网站托管,嘉兴网站快照优化公司,西安进一步优化近期防疫措施,百度seo快速排名文章目录一、加法计算器1.1 约定前后端交互接口1.2 服务端代码1.3 运行测试二、用户登录2.1 约定前后端交互接口2.2 服务端代码2.3 运行测试三、留言板3.1 约定前后端交互接口3.2 服务端代码3.2.1 引入Lombok依赖3.2.2 Lombok 使用3.2.3 后端代码实现3.3 运行测试结语 | 岁末祝…文章目录一、加法计算器1.1 约定前后端交互接口1.2 服务端代码1.3 运行测试二、用户登录2.1 约定前后端交互接口2.2 服务端代码2.3 运行测试三、留言板3.1 约定前后端交互接口3.2 服务端代码3.2.1 引入Lombok依赖3.2.2 Lombok 使用3.2.3 后端代码实现3.3 运行测试结语 | 岁末祝福一、加法计算器需求输入两个整数点击 点击相加 按钮显示计算结果1.1 约定前后端交互接口接口又被称为api两种叫法指的都是同一种东西。是指应用程序对外提供的服务的描述。就是允许客户端给服务器发送哪些http请求并且每种请求获取什么样的http响应。将接口约定的内容写在文档上就是 接口文档 “接口文档也可以理解为是应用程序的” 操作说明书 。需求分析加法计算器功能对两个整数进行相加需要对客户端提供参与计算的两个数服务端返回这两个数计算的结果。接口定义请求路径calc/sum请求方式GET/POST接口描述计算两个整数相加请求参数参数名类型是否必须备注num1Integer是参与计算的第一个数num2Integer是参与计算的第二个数响应数据Content-Typetext/html响应内容计算机计算结果sum1.2 服务端代码RestControllerRequestMapping(/calc)publicclassCalcController{RequestMapping(/sum)publicStringsum(RequestParamIntegernum1,RequestParamIntegernum2){Integersumnum1num2;return计算机计算结果: sum;}}RequestParam 使用该注解确保参数不为空。1.3 运行测试接口测试测试工具发现服务端接口没有问题使用页面测试二、用户登录需求用户输入账号和密码后端进行校验密码是否正确如果不正确前端进行用户告知如果正确跳转到首页。首页显示当前登录用户后续再访问首页可以获取到登录用户信息2.1 约定前后端交互接口需求分析对于服务端只需要提供两个功能登录页面通过账号和密码检验输入的账号密码是否正确并告知前端。首页告知前端当前登录用户。如果当前已有用户登录返回登录的账号如果没有返回空。1接口定义校验接口请求路径user/login请求方式POST接口描述校验账号密码是否正确请求参数参数名类型是否必须备注userNameString是校验的账号passwordString是校验的密码响应数据Content-Typetext/html响应内容true//账号密码验证成功false//账号密码验证失败2查询登录用户接口接口定义请求路径user/getLoginUser请求方式GET接口描述查询当前登录的用户无请求参数响应数据Content-Typetext/html响应内容例zhangsan2.2 服务端代码校验接口RestControllerRequestMapping(/user)publicclassUserController{RequestMapping(/login)publicBooleanlogin(StringuserName,Stringpassword,HttpSessionsession){//参数校验账号密码是否为空if(!StringUtils.hasLength(userName)||!StringUtils.hasLength(password)){returnfalse;}//判断账号和密码是否正确//TODO nameadmin,passwordadmin时正确if(admin.equals(userName)admin.equals(password)){session.setAttribute(userName,userName);returntrue;}returnfalse;}}账号和密码现在为直接写死的状态。StringUtilshasLength() 是Spring提供的一个工具方法,判断字符串是否有值字符串为null或者 时,返回false,其他返回true。查询登录用户接口RestControllerRequestMapping(/user)publicclassUserController{RequestMapping(/getUserLogin)publicStringgetUserLogin(HttpSessionsession){StringuserName(String)session.getAttribute(userName);returnuserNamenull?未登录:userName;}}2.3 运行测试测试工具验证后端接口发现登录成功且发送get请求获取当前用户正确。使用前端页面验证。多次刷新页面发现登录人依旧是admin但重启服务器登陆人为空session 存储在内存中若不做任何处理默认服务器重启时数据丢失。三、留言板需求输入留言信息点击提交后端将数据存储。页面展示输入的留言的信息。界面如下3.1 约定前后端交互接口后端提供两个服务获取留言用户提交留言信息后端将留言信息存储起来。提交留言后端将留言信息显示到前端界面。接口定义获取全部留言后端存储留言在内存中使用List集合存储。前端获取响应可以用JSON来描述这个List数据。请求路径messagewall/getList请求方式GET接口描述获取后端留言信息响应JSON形式发表新留言请求路径messagewall/publish请求方式POST接口描述提交留言信息给后端发送请求正文也为JSON格式和上述一样。3.2 服务端代码3.2.1 引入Lombok依赖后端将message封装为对象为参数接收前端的JSON数据并且要使用注解 RequestBody 。封装为对象就需要有属性的get和set方法手动添加比较麻烦此时引入一个依赖就非常轻松。Lombok是一个Java工具库通过添加这个注解方式可以简化开发引入方式在pom文件中引入dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency3.2.2 Lombok 使用DatapublicclassMessageInfo{privateStringfrom;privateStringto;privateStringmessage;}使用 Data 注解可以自动包含getter/setter/toString等等方法。还提供了一些细颗粒度的注解注解作用Getter自动添加 getter 方法Setter自动添加 setter 方法ToString自动添加 toString 方法EqualsAndHashCode自动添加 equals 和 hashCode 方法NoArgsConstructor自动添加无参构造方法AllArgsConstructor自动添加全属性构造方法顺序按照属性的定义顺序NonNull属性不能为 nullRequiredArgsConstructor自动添加必需属性的构造方法final NonNull 的属性为必需而 Data 为上述所有注解的总和也就是添加Data方法上述所有方法都全部包含。3.2.3 后端代码实现MessageInfo 对象类Data// 自动生成get/set方法等//Getter//SetterpublicclassMessageInfo{privateStringfrom;privateStringto;privateStringmessage;}接口类RestControllerRequestMapping(/message)publicclassMessageController{privateListMessageInfomessageInfoListnewArrayList();RequestMapping(/publish)publicBooleanpublish(RequestBodyMessageInfomessageInfo,HttpSessionSession){if(!StringUtils.hasLength(messageInfo.getFrom())||!StringUtils.hasLength(messageInfo.getTo())||!StringUtils.hasLength(messageInfo.getMessage())){returnfalse;}messageInfoList.add(messageInfo);returntrue;}RequestMapping(/getList)publicListMessageInfogetList(){returnmessageInfoList;}}3.3 运行测试测试工具测试接口此时验证接口全部正确使用前端页面验证此时不断刷新页面数据也不会丢失但数据是在内存中一旦服务器重启数据就丢失了。结语 | 岁末祝福本文围绕加法计算器、用户登录、留言板三个典型场景从前后端交互接口约定、服务端代码实现到运行测试展开了完整讲解其中留言板模块还补充了 Lombok 依赖引入与注解使用的实操细节。这些案例覆盖了后端开发中接口设计、代码编写、工具优化等核心环节既体现了基础开发流程的规范性也展示了 Lombok 这类工具对开发效率的提升作用。这篇博文发布恰逢 2025 年岁末祝愿各位在新的一年里技术深耕不辍开发之路步履不停将所学所练转化为实际成果在编程领域收获更多成长与突破