成都做seo网站公司,建设银行信用卡被钓鱼网站,百度快速排名软件下载,鞍山58同城招聘网最新招聘文章目录 前言一、postman工具1. 引入2. 介绍3. 安装4. 使用 二、简单参数1. 原始方式#xff08;仅了解#xff0c;以后的开发不会使用#xff09;2. SpringBoot方式3. 参数名不一致(RequestParam映射) 三、实体参数1. 简单实体对象2. 复杂实体对象 总结 前言
本篇文章是2… 文章目录 前言一、postman工具1. 引入2. 介绍3. 安装4. 使用 二、简单参数1. 原始方式仅了解以后的开发不会使用2. SpringBoot方式3. 参数名不一致(RequestParam映射) 三、实体参数1. 简单实体对象2. 复杂实体对象 总结 前言
本篇文章是2023年最新黑马JavaWeb开发笔记16请求postman、简单参数、实体参数、RequestParam映射的总结帮助需要学习Web开发的朋友温故而知新。
postman工具安装、使用简单参数简单实体参数复杂实体参数 一、postman工具
1. 引入
在当前最为主流的开发模式前后端分离模式下后端技术人员是无法知道前端页面的但是开发过程中需要测试自己所开发的程序有两个方法 像之前SpringBoot入门案例中一样直接使用浏览器在浏览器中输入地址测试后端程序 弊端在浏览器地址栏中输入地址这种方式都是GET请求如果要用到POST请求还需要程序员自己编写前端代码比较麻烦 使用专业的接口测试工具课程中我们使用Postman工具
2. 介绍 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 Postman原是Chrome浏览器的插件可以模拟浏览器向后端服务器发起任何形式(如:get、post)的HTTP请求 使用Postman还可以在发起请求时携带一些请求参数、请求头等信息 作用常用于进行接口测试
3. 安装 打开官网直接下载对应版本官网地址https://www.postman.com/downloads/ 双击安装即可过程中不需要任何操作需要联网
4. 使用 新用户直接创建账号 在这里点击Create Workspace 拟定名字然后改为仅自己能看最后创建 点击上方栏的**号**添加一个新的请求 这里会让你填写各信息和URL地址 我这里写了一个简单的SpringBoot程序实现了在浏览器输出“Hello World~我以我定义这个URL地址为例 填写好URL地址点击send可以发现下面展示回来的数据为Hello World~ 如果要发起POST请求只需要改为POST就可以了 保存直接CtrlS或者旁边的Save键取一个请求的名字注意这里不是路径随便取就行如果没有文件夹我们直接新建一个最后点击保存即可 保存完毕后会发现左边出现了目录就算后面关闭页面也可以点击目录让这个请求出现
二、简单参数
简单参数在向服务器发起请求时向服务器传递的是一些普通的请求数据 在后端程序中接收传递过来的普通参数数据有两种方法
原始方式SpringBoot方式
1. 原始方式仅了解以后的开发不会使用
在原始的Web程序当中需要通过Servlet中提供的APIHttpServletRequest请求对象获取 请求的相关信息。比如获取请求参数 在Controller中我们要想获取Request对象可以直接在方法的形参中声明 HttpServletRequest 对象。然后就可以通过该对象来获取请求信息
RestController
public class RequestController {//原始方式RequestMapping(/simpleParam)public String simpleParam(HttpServletRequest request){// http://localhost:8080/simpleParam?nameTomage10// 请求参数 nameTomage10 有2个请求参数// 第1个请求参数 nameTom 参数名:name参数值:Tom// 第2个请求参数 age10 参数名:age , 参数值:10String name request.getParameter(name);//name就是请求参数名String ageStr request.getParameter(age);//age就是请求参数名int age Integer.parseInt(ageStr);//需要手动进行类型转换System.out.println(name : age);return OK;}
}2. SpringBoot方式
在Springboot的环境中对原始的API进行了封装接收参数的形式更加简单。 如果是简单参数参 数名与形参变量名相同定义同名的形参即可接收参数。
RestController
public class RequestController {// http://localhost:8080/simpleParam?nameTomage10// 第1个请求参数 nameTom 参数名:name参数值:Tom// 第2个请求参数 age10 参数名:age , 参数值:10//springboot方式RequestMapping(/simpleParam)public String simpleParam(String name , Integer age ){//形参名和请求参数名保持一致System.out.println(name : age);return OK;}
}postman测试( GET 请求)
postman测试( POST请求 ) 结论不论是GET请求还是POST请求对于简单参数来讲只要保证请求参数名和Controller方法中的形参名保持一致 就可以获取到请求参数中的数据值。
3. 参数名不一致(RequestParam映射)
以这段代码为例请求参数名和形参名并不一样
RestController
public class RequestController {// http://localhost:8080/simpleParam?nameTomage20// 请求参数名name//springboot方式RequestMapping(/simpleParam)public String simpleParam(String username , Integer age ){//请求参数名和形参名不相同System.out.println(username : age);return OK;}
}答案运行没有报错。controller方法中的username值为nullage值为20结论对于简单参数来讲请求参数名和controller方法中的形参名不一致时无法接收到请求数据在开发中遇到了这种请求参数名和controller方法中的形参名不相同的情况可以使用Spring提供的RequestParam注解完成映射在方法形参前面加上 RequestParam 然后通过value属性执行请求参数名从而完成映射。代码如下
RestController
public class RequestController {// http://localhost:8080/simpleParam?nameTomage20// 请求参数名name//springboot方式RequestMapping(/simpleParam)public String simpleParam(RequestParam(name name) String username, Integer age ){System.out.println(username : age);return OK;}
}注意事项 RequestParam中的required属性默认为true默认值也是true代表该请求参数必须传 递如果不传递将报错
如果该参数是可选的可以将required属性设置为false
RequestMapping(/simpleParam)
public String simpleParam(RequestParam(name name, required false) String username, Integer age){System.out.println(username : age);return OK;
}三、实体参数
在使用简单参数做为数据传递方式时前端传递了多少个请求参数后端controller方法中的形参就要书写多少个。如果请求参数比较多通过上述的方式一个参数一个参数的接收会比较繁琐。此时我们可以考虑将请求参数封装到一个实体类对象中。要想完成数据封装需要遵守如下规则请求参数名与实体类的属性名相同
1. 简单实体对象
定义POJO实体类在user类里面存放所有需要被封装的属性这里只有两个属性 name age 然后把get() set() toString()方法生成一下
写一下Controller方法 直接启动服务然后在postman里面进行测试 参数名和实体类属性名一致时 参数名和实体类属性名不一致时
2. 复杂实体对象 复杂实体对象指在实体类中有一个或多个属性也是实体对象类型的。如下 User类中有一个Address类型的属性Address是一个实体类 复杂实体对象的封装需要遵守如下规则 请求参数名与形参对象属性名相同按照对象层次结构关系即可接收嵌套实体类属性参数。 定义POJO实体类
Address实体类
public class Address {private String province;private String city;public String getProvince() {return province;}public void setProvince(String province) {this.province province;}public String getCity() {return city;}public void setCity(String city) {this.city city;}Overridepublic String toString() {return Address{ province province \ , city city \ };}
}User实体类 Controller方法
RestController
public class RequestController {//实体参数复杂实体对象RequestMapping(/complexPojo)public String complexPojo(User user){System.out.println(user);return OK;}
}Postman测试 加粗样式 总结
本篇文章是2023年最新黑马JavaWeb企业级开发知识清单01前端介绍、html实现标题格式内容的总结帮助需要学习Web开发的朋友温故而知新。