SpringBoot下get/post请求

一、普通参数形式

 基本数据类型(以int为例)

 总结:

        1)用基本数据类型进行参数绑定的时候,就必须传入key值,而且value值必须是声明的基本类型,如果页面提交的数据为null或者“”的话,会出现数据转换异常,因此最好使用包装类型参数

        2)前端的参数名和controller的参数名保持一致时就能完成数据绑定,不一致的时候可以使用@RequestParam,比如下两图所示

 

包装类型参数绑定

在controller中写多个包装类型参数绑定的方法

 

 总结:

        1)包装类型绑定参数时和基本数据类型一样,传的key值要和里面绑定的参数名一致

        2)包装类型绑定参数时,参数的值可以不传为null,也可以为空。

自定义对象类型参数绑定

 

 总结:

        1)只要将对象的属性名和前端的input的参数名一致即可,如果前端没有传的值,而对象里面又有这个属性,就自动赋为null

自定义复合对象类型参数绑定

 

 总结:

        1)自定义复合对象类型和自定义对象类型是一样的用法(自定义复合对象类型就是比如在OrderForm里面有基本数据类型Integer id,也有引用数据类型 Items items;)

        2)自定义复合对象类型前端input的参数名要使用“属性名(对象类型的属性).属性名”   来命名,比如items.id  

List参数绑定

 

 总结:

        1)前端传参通过逗号隔开

Map参数绑定

 

 总结:

        1)需要使用@RequestParam注解

@RequestParam注解解析

@RequestParam注解的作用有参数限制、设置参数默认值、自定义参数名称

1)参数限制(可用required=false关闭)

那么到底什么是参数限制呢?

required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)

 2)设置参数默认值

defaultValue:默认值,如果设置了该值,required 将自动设为 false,无论你是否配置了required,配置了什么值,都是 false(可选配置)

 3)自定义参数名称

总结:

        1)@RequestParam注解设置参数限制、设置参数默认值、设置更改参数名称,可根据不同场景使用

        2)@ReqeustParam可以多个使用

数组类型参数绑定

1)基本数组类型接收参数

 

总结:

        1)直接用数组类型接收即可

2)List类型接收参数

总结:

        1)不可以缺少@RequestParam注解,否则会报错

二、POST请求:JSON模式参数绑定

由于前后端分离以及前端的多样性,通常我们使用json数据格式进行参数/数据传递,说到json格式,就得先说一下@RequestBody,这个是使用JSON模式进行参数绑定的必不可少的一环。

1、@RequestBody注解解析

1)@RequestBody注解的作用是将json格式的数据转为java对象

2)@RequestBody常用来处理application/json类型的数据

3)@RequestBody接收的是一个json格式的字符串

2、json模式直接绑定自定义对象类型

 

总结:

        1)直接将json字符串转换成JavaBean,但是前端传的数据一定是json格式的数据

        2)参数名必须和实体类定义的属性名一致才能正确的获取参数,如果不一致,则得不到前端传过来的参数,则为null

3、json模式直接绑定自定义复合对象类型

 

总结:

        1)两个对象的参数名和实体类定义的属性名要一致

        2)直接获取的方式,层级的参数名需要用.指定;@RequestBody形式参数json格式需要用嵌套的形式,但是如果写json形式的参数时,格式不正确,那么就会报400错误。

4、json模式绑定数组类型(一般用于批量操作)

controller使用@RequestBody+List接收数组(推荐) 

 总结:

        1)@RequestBody获取List数组类型参数使用比较广泛

        2)也可以将list里面的内容转化为String类型,以,分割,比如

5、json模式绑定多个对象(参数类型相同)

1)使用List<E>获取

 

2)使用Map<String,Object>接收

 

大总结:

        1)PostMapping在controller里测试的时候,需要用到@RequestBody进行参数接收和绑定,而且基本是用到了json格式的数据就要用@RequestBody注解来进行参数绑定。

        2)而GetMapping则没有那么多规则,在必要的时候则是通过@RequestParam进行参数限制、设置参数默认值、自定义参数名称

        3)而且如果需要在网页上展示json格式的数据,则是需要在GetMapping或者PostMapping下面加上一个@ResponseBody注解来把数据转化为json格式,否则如果数据类型不匹配,则会报404错误。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot中的GET和POST请求是常见的HTTP请求方法,用于获取或提交数据。 GET请求用于从服务器获取数据,通常用于查询数据。在Spring Boot中,可以使用@GetMapping注解来处理GET请求POST请求用于向服务器提交数据,通常用于创建或更新数据。在Spring Boot中,可以使用@PostMapping注解来处理POST请求。 除了@GetMapping和@PostMapping,Spring Boot还提供了其他注解来处理不同类型的HTTP请求,例如@PutMapping用于处理PUT请求,@DeleteMapping用于处理DELETE请求等。 ### 回答2: Spring Boot的Web应用程序通常会使用HTTP协议进行与客户端的通信。在HTTP协议中,最常见的两种请求类型是GET和POST请求。 GET请求: GET请求用于从服务器获取数据。当客户端发送GET请求时,服务器会将请求的资源作为响应发送回客户端。 GET请求将参数作为URL的一部分发送,而不是在请求主体中发送,这说明查询参数可以缓存,字符串鉴别标识符可以保护请求: @GetMapping("/users") public List<User> getUsers() { return userService.getUsers(); } 上面的示例使用@GetMapping注释将方法映射到“/users”URL路径。当客户端发送GET请求到“/users”时,将调用该方法并返回所有用户的列表。 POST请求POST请求用于向服务器提交数据。使用POST请求时,请求的数据在请求主体中发送而不是作为URL的一部分发送。这意味着数据不会被缓存在浏览器中,因此POST请求的安全性要高于GET请求。 @PostMapping("/users") public User createUser(@RequestBody User user) { return userService.createUser(user); } 上面的示例使用@PostMapping注释将方法映射到“/users”URL路径。当客户端发送针对该路径的POST请求时,将调用该方法并创建新用户,然后将其添加到用户列表中。 总而言之,GET请求适用于无需更新服务端上的资源且不会引起副作用的场景。POST请求则用于需要向服务器传递数据的场景,并且可能会更新或创建新资源。 ### 回答3: Spring Boot 是一个用于构建企业级应用的 Java 框架,它的出现简化了 Java 开发的流程,使得开发者可以以更加高效和规范的方式进行开发。在 Spring Boot 中,Get 和 Post 请求是两个最基本的网络请求方式。 Get 请求请求一个指定的页面或资源,一般来说是在地址栏中输入一个 URL,并向该 URL 发送请求。Get 请求通常用于获取一些数据或资源,比如查询数据库的信息或者获取某个页面的文本内容等。在 Spring Boot 中,可以使用 @GetMapping 注解来进行 Get 请求的处理,它可以将请求和指定的方法进行绑定,使得请求能够在服务器端得到处理并返回响应。 例如,在 Spring Boot 中,使用 @GetMapping 注解可以实现一个简单的 Get 请求处理器: ``` @GetMapping("/hello") public String hello() { return "Hello World!"; } ``` 上面的示例中,GetMapping 注解绑定了一个地址为 /hello 的请求,并返回了一个 Hello World! 字符串作为响应。 与 Get 请求不同,Post 请求则是向服务器提交数据以在服务器端进行处理。Post 请求通常用于提交数据或资源,如向数据库中添加新的记录或向服务器上传文件等。在 Spring Boot 中,可以使用 @PostMapping 注解来进行 Post 请求的处理,它可以将请求和指定的方法进行绑定,使得请求能够在服务器端得到处理并返回响应。 例如,在 Spring Boot 中,使用 @PostMapping 注解可以实现一个简单的 Post 请求处理器: ``` @PostMapping("/submit") public String submitForm(@RequestParam String username, @RequestParam String password) { // 处理提交的数据 return "Success"; } ``` 上面的示例中,PostMapping 注解绑定了一个地址为 /submit 的请求,并通过 @RequestParam 注解声明了两个参数 username 和 password,处理提交的数据并返回了一个 Success 字符串作为响应。 总之,Spring Boot 中的 Get 和 Post 请求是处理客户端与服务端之间数据传输的最基本方式。开发者在使用这两种请求时需要熟练掌握它们的基本原理和使用方法,才能更好地实现涉及网络请求的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值