三.SpringBoot-controller控制器

SpringBoot-controller控制器

web入门-控制器

  • Spring Boot将传统Web开发的mvc、json、 tomcat等框架整合,提供了 spring-boot-starter-web组件,简化了Web应用配置。
  • 创建SpringBoot项目勾选Spring Web选项后,会自动将spring-boot-starter web组件加入到项目中。
  • spring-boot-starter-web启动器主要包括web、webmvc、 json、 tomcat等 基础依赖组件,作用是提供Web开发场景所需的所有底层依赖。
  • webmvc为Web开发的基础框架,json为JSON数据解析组件,tomcat为自带 的容器依赖。
Java 复制代码
SpringBoot提供了@Controller和@RestController两种注解来标识此类负责接收和处理HTTP请求。
如果请求的是页面和数据,使用@Controller注解即可;
如果只是请求数据,则可以使用@RestController注解。

@RestController注解

默认情况下,@RestController注解会将返回的对象数据转化为JSON格式


路由映射

  • @RequestMapping注解主要负责URL的路由映射。它可以添加在Controller 类或者具体的方法上。
  • 如果添加在Controller类上,则这个Controller中的所有路由映射都将会加上此 映射规则,如果添加在方法上,则只对当前方法生效。
  • @RequestMapping注解包含很多属性参数来定义HTTP的请求映射规则。常 用的属性参数如下:
  • value:请求URL的路径,支持URL模板、正则表达式,注意这里有通配符的问题需要注意 *,**,?
  • method: HTTP请求方法

参数传递

java 复制代码
@RequestParam将请求参数绑定到控制器的方法参数上,接收的参数来自
HTTP请求体或请求url的QueryString,当请求的参数名称与Controller的业务
方法参数名称一致时@RequestParam可以省略
@PathVaraible:用来处理动态的URL,URL的值可以作为控制器中处理方法
的参数
@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理
非Content-Type: application/x-www-form-urlencoded编码格式的数据,
比如:'application/json^、 application/xml 等类型的数据

实例:

get请求参数拼接在请求地址后后面,在浏览器直接访问

java 复制代码
//前端传入参数名和后端方法参数明相同时直接接收
@RestController
public class HelloWorld {
    @RequestMapping(value = "/hello1",method = RequestMethod.GET)
    public String hello1(String username,String phone){
        return "hello bad world " + username;
    }
}

//不同的时候需要使用注解@RequestParam将传入的参数和后端接收的参数绑定
//此时如果前端没有传入注解中命名的参数会报错
 @RequestMapping(value = "/hello2",method = RequestMethod.GET)
    public String hello2(@RequestParam(name = "username") String name, String phone){
        return "hello bad world " + name;
    }

post请求参数放在请求体中(其实也可以放在url后面),需要借助工具: postman ApiPost等发送post请求

java 复制代码
    //此时的post请求参数要和我们后端方法的参数一致
    // 这里我们使用了一个实体类来接收参数,多个此段不用一一写出
    @RequestMapping(value = "/hello3",method = RequestMethod.POST)
    public String hello3(User user){
        System.out.println(user);
        return "Post请求发送成功";
    }

postman发送post请求

注意如果Post请求发送的是JSON格式的数据,后端方法中需要使用@RequestBody获取对应的json参数

java 复制代码
 @RequestMapping(value = "/hello3",method = RequestMethod.POST)
    public String hello3(@RequestBody User user){
        System.out.println(user);
        return "Post请求发送成功";
    }
相关推荐
Cc.Y36 分钟前
Java零基础入门:类与对象深度掌握 —— 从“零散变量“到“打包管理“
java·开发语言·python
\光辉岁月/38 分钟前
2.java变量
java·开发语言·变量
Wang's Blog41 分钟前
Java 项目实战: 外卖平台优化-前端dist部署与Nginx反向代理rewrite
java·前端·nginx
专业程序开发源41 分钟前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
代码山河1 小时前
Java的前世今生:从Oak语言到Java 23的发展史
java·学习·架构·教程·面向对象·项目
vx_Biye_Design1 小时前
springboot角色扮演服务平台65161-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计
李游Leo1 小时前
HarmonyOS 7 QuickDock 闪控窗开发实录 02:floatView × floatingBall:形态切换、位置恢复与单一状态源【鸿蒙心迹】
java·华为·harmonyos
企业数字化笔记1 小时前
视频局部合成怎么做得自然?掩膜修复、边缘羽化、时序稳定与背景替换
java·javascript·音视频
仍然.1 小时前
Redis---主从复制
java·数据库·redis
vx_Biye_Design1 小时前
springboot咖啡厅顾客点单管理系统12080-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express