三.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请求发送成功";
    }
相关推荐
一颗花生米。19 分钟前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼19 分钟前
Java基础-单例模式的实现
java·开发语言·单例模式
ok!ko4 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2401_857622664 小时前
SpringBoot框架下校园资料库的构建与优化
spring boot·后端·php
2402_857589364 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰5 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没6 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
编程、小哥哥6 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
IT学长编程7 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇7 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器