Spring Boot Controller(Web项目入门知识)

一、个人理解

        Controller为控制层,项目中业务处理的核心实现就在Controller。

二、知识引入

        Spring Boot 整合了传统Web开发的mvc、json、tomcat等框架。

(1)json为JSON数据解析组件;

(2)tomact为自带容器依赖。

(3)mvc框架分为三层:model(模型层,处理数据)、controller(控制层,分发器,进行业务处理)、view(视图层,前端页面展示)。下图为mvc框架的工作流程:

  2.1 控制器相关知识点

        Spring Boot提供的控制器注解为 @Controller 和 @RestController ,用来标识此类负责接收和处理HTTP请求的。两者的区别为,@Controller用于页面和数据的请求;@RestContoller用于只有数据请求的。

2.2 @Controller用法

        下图返回的TryControl为视图View和name的数据。@Controller通常和Thymeleaf模板结合使用。

2.3 @RestController用法

        该注解将返回的对象数据转换为json格式。

2.4 路由映射 @RequestMapping

        @RequestMapping用于负责URL路由映射,添加在Controller类或者具体方法上。其常用属性如下:

(1)value:表示请求url的路径;

其中的通配符匹配,*表示匹配任意字符,**表示匹配任意路径,?表示匹配单个字符。

(2)method:HTTP请求方法,例如post,get,put,delete;

(3)consumes:请求的媒体类型,例如application,json;

(4)produces:响应的媒体类型;

(5)params,headers:请求的参数以及请求头的值。

三、实践展示

        在本机浏览器中输入localhost:8080/deliver?QQname=fire,表示访问的页面为deliver,前端传来的参数为QQname,其值为fire。

        在本机浏览器中输入localhost:8080/deliver?QQname=fire&phone=123456,表示前端传来有两个参数分别是QQname和phone,若有多个参数,用&进行连接

GET请求下的例子展示

(1)不带参数

(2)带参数

(3)@RequestParam强制访问时必须带参数

post请求下的例子,post不能直接使用浏览器地址栏访问域名,可下载软件apipost进行在线调试。

(1)不带参数

(2)带参数

参数在访问中:localhost:8080/postTest2?QQname=fire&phone=123

参数在请求体Body中:

(3)参数封装对象中

参数需要在请求body中,其中参数名name和phone必须要和java中的user类保持一致,才能自动匹配。

(4)处理json格式的参数

@RequestBody 用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。

(5)通配符

四、完整代码

笔记来源于网课:【1天搞定SpringBoot+Vue全栈开发】 https://www.bilibili.com/video/BV1nV4y1s7ZN/?p=3&share_source=copy_web&vd_source=b1ffec0a9f36b67266f32b5098c702a3

感谢up主:刘老师教编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值