cn域名注册网站个人微信公众号
news/
2025/9/24 4:17:09/
文章来源:
cn域名注册网站,个人微信公众号,做建材网站怎么做,html完整网站开发前言#xff1a; 我们在开发web程序时呢#xff0c;定义了一个控制器类Controller#xff0c;请求会被部署在Tomcat中的Controller接收#xff0c;然后Controller再给浏览器一个响应。 而在请求响应的过程中是遵循HTTP协议的。
但是#xff0c;在Tomcat这类Web服务器中 我们在开发web程序时呢定义了一个控制器类Controller请求会被部署在Tomcat中的Controller接收然后Controller再给浏览器一个响应。 而在请求响应的过程中是遵循HTTP协议的。
但是在Tomcat这类Web服务器中是不识别我们自己定义的Controller的。但是Tomcat是一个Servlet容器是支持Serlvet规范的所以在tomcat中是可以识别 Servlet程序的。 其实在SpringBoot进行web程序开发时它内置了一个核心的Servlet程序 DispatcherServlet称之为 核心控制器。 DispatcherServlet 负责接收页面发送的请求然后根据执行的规则将请求再转发给后面的请求处理器Controller请求处理器处理完请求之后最终再由DispatcherServlet给浏览器响应数据。 那将来浏览器发送请求会携带请求数据包括请求行、请求头请求到达tomcat之后tomcat会负责解析这些请求数据然后呢将解析后的请求数据会传递给Servlet程序的HttpServletRequest对象那也就意味着 HttpServletRequest 对象就可以获取到请求数据。 而Tomcat还给Servlet程序传递了一个参数 HttpServletResponse通过这个对象我们就可以给浏览器设置响应数据 。 那上述所描述的这种浏览器/服务器的架构模式呢我们称之为BS架构。
请求响应
请求HttpServletRequest获取请求数据响应HttpServletResponse设置响应数据BS架构Browser/Server浏览器/服务器架构模式。客户端只需要浏览器应用程序的逻辑和数据都存储在服务端。CS架构Client/Server客户端/服务器架构模式。
请求
1.Postman 介绍
由于前后端分离对后端技术人员来讲在开发过程中是没有前端页面的那就需要专业的接口测试工具Postman工具 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。常用于进行接口测试 Postman原是Chrome浏览器的插件可以模拟浏览器向后端服务器发起任何形式(如:get、post)的HTTP请求 使用Postman还可以在发起请求时携带一些请求参数、请求头等信息
2.简单参数
SpringBoot方式
在Springboot的环境中对原始的API进行了封装接收参数的形式更加简单。 如果是简单参数参数名与形参变量名相同定义同名的形参即可接收参数。 postman测试( GET 请求) postman测试( POST请求 ) 结论不论是GET请求还是POST请求对于简单参数来讲只要保证请求参数名和Controller方法中的形参名保持一致就可以获取到请求参数中的数据值。
参数名不一致
~~~java
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属性执行请求参数名从而完成映射。代码如下 注意事项RequestParam中的required属性默认为true默认值也是true代表该请求参数必须传递如果不传递将报错。如果该参数是可选的可以将required属性设置为false。 3.实体参数
在使用简单参数做为数据传递方式时前端传递了多少个请求参数后端controller方法中的形参就要书写多少个。如果请求参数比较多通过上述的方式一个参数一个参数的接收会比较繁琐。此时我们可以考虑将请求参数封装到一个实体类对象中。 要想完成数据封装需要遵守如下规则请求参数名与实体类的属性名相同 3.1 简单实体对象
定义POJO实体类
java
public class User {private String name;private Integer age;public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}Overridepublic String toString() {return User{ name name \ , age age };}
}Controller方法java
RestController
public class RequestController {//实体参数简单实体对象RequestMapping(/simplePojo)public String simplePojo(User user){System.out.println(user);return OK;}
}
Postman测试
参数名和实体类属性名一致时 参数名和实体类属性名不一致时 3.2 复杂实体对象
复杂实体对象指的是在实体类中有一个或多个属性也是实体对象类型的。如下 User类中有一个Address类型的属性Address是一个实体类 复杂实体对象的封装需要遵守如下规则
请求参数名与形参对象属性名相同按照对象层次结构关系即可接收嵌套实体类属性参数。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914817.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!