三.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请求发送成功";
    }
相关推荐
苹果酱05671 分钟前
springcloud-网关路由gateway
java·开发语言·spring boot·mysql·中间件
武子康7 分钟前
Java-08 深入浅出 MyBatis - 多对多模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据库·sql·mybatis
摇滚侠15 分钟前
java http body的格式 ‌application/x-www-form-urlencoded‌不支持文件上传
java·开发语言·http
尘浮生43 分钟前
Java项目实战II基于SpringBoot的共享单车管理系统开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·微信小程序·小程序
2401_857439691 小时前
社团管理新工具:SpringBoot框架
java·spring boot·后端
2401_857610031 小时前
Spring Boot OA:企业办公自动化的创新之路
spring boot·后端·mfc
ThetaarSofVenice1 小时前
Java从入门到放弃 之 泛型
java·开发语言
嘟嘟Listing1 小时前
jenkins docker记录
java·运维·jenkins
WHabcwu1 小时前
统⼀异常处理
java·开发语言
zaim11 小时前
计算机的错误计算(一百六十三)
java·c++·python·matlab·错数·等价算式