springboot和vue:三、web入门(spring-boot-starter- web+控制器+路由映射+参数传递)

spring-boot-starter- web

  • Spring Boot将传统Web开发的mvc、json、tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置。
  • 创建SpringBoot项目勾选Spring Web选项后,会自动将spring-boot-starter- web组件加入到项目中。
  • webmvc为Web开发的基础框架,json为JSON数据解析组件,tomcat为自带的容器依赖。

springboot和vue:三、web入门(spring-boot-starter- web+控制器+路由映射+参数传递)_第1张图片

控制器

  • Spring Boot提供了@Controller和@RestController两种注解来标识此类负责接收和处理HTTP请求。
  • 如果请求的是页面和数据,使用@Controller注解即可;如果只是请求数据,则可以使用@RestController注解。

springboot和vue:三、web入门(spring-boot-starter- web+控制器+路由映射+参数传递)_第2张图片

@Controller和@RestController

  • 以下示例中返回了hello页面和name的数据,在前端页面中可以通过${name}参数获取后台返回的数据并显示。
  • @Controller通常与Thymeleaf模板引擎结合使用。
  • 默认情况下,@RestController注解会将返回的对象数据转换为JSON格式。

springboot和vue:三、web入门(spring-boot-starter- web+控制器+路由映射+参数传递)_第3张图片

路由映射/@RequestMapping

  • @RequestMapping注解主要负责URL的路由映射。它可以添加在Controller类或者具体的方法上。
  • 如果添加在Controller类上,则这个Controller中的所有路由映射都将会加上此映射规则,如果添加在方法上,则只对当前方法生效。
  • @RequestMapping注解包含很多属性参数来定义HTTP的请求映射规则。常用的属性参数如下:
    1. value: 请求URL的路径,支持URL模板、正则表达式
    2. method: HTTP请求方法
    3. consumes: 请求的媒体类型(Content-Type),如application/json
    4. produces: 响应的媒体类型
    5. params,headers: 请求的参数及请求头的值

路由映射中的正则表达式

  • 符号“*”匹配任意字符,符号“**”匹配任意路径,符号“?”匹配单个字符。
  • 有通配符的优先级低于没有通配符的,比如/user/add.json比/user/*.json优先匹配。
  • 有“**”通配符的优先级低于有“*”通配符的。

参数传递

如果不是很清楚url和form-data和requestbody的区别,可以先去看别的博客:https://blog.csdn.net/qq_44695727/article/details/112277632和https://www.cnblogs.com/wjun0/p/11569716.html。

@RequestParam

@RequestParam将请求参数绑定到控制器的方法参数上,接收的参数来自HTTP请求体或请求url的QueryString,当请求的参数名称与Controller的业务方法参数名称一致时,@RequestParam可以省略。

@PathVaraible:

用来处理动态的URL,URL的值可以作为控制器中处理方法的参数

@RequestBody

接收的参数是来自requestBody中,即请求体。一般用于处理非Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/jsonapplication/xml等类型的数据

你可能感兴趣的:(前端,spring,boot,vue.js,springboot,后端,java)