springboot中的controller层和postman接口测试

本文深入探讨了Spring MVC中的@Controller、@RestController和@RequestMapping注解的使用,详细解释了它们在处理HTTP请求时的角色。@Controller用于定义控制器类,而@RestController则结合了@Controller和@ResponseBody,直接将响应转换为JSON。@RequestMapping在类和方法级别定义了请求映射,指定URL路径。GET和POST请求的主要区别在于参数传递方式,GET将参数放在URL中,POST则通过请求体传递。理解这些注解对于开发RESTful API至关重要,确保正确接收并处理前端发送的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

controller层

1.@Controller
注解在类上,默认表示该类所有方法的返回值为一个跳转路径字符串(会经过视图解析器解析,加前后缀)
而在类中方法加上@ResponseBody,表示该方法返回值会被转换为JSON格式的字符串返回,通常此方法返回值令其为Object
2.@RestController
注解在类上,表示该类中所有方法返回值都会转换为JSON格式字符串返回(通常令方法返回值为Oject)
@RestController = @Controller+@ResponseBody
3.@RequestMapping
注解在类上:接口访问的一级路径
注解在方法上:接口访问的二级路径
在这里插入图片描述
分析:访问地址 = 网络协议://主机IP:端口号+一级路径/二级路径?传参列表
http://localhost:8080/hao/userInfo/getuser?id=4
@GetMapping和**@PostMapping**区别:GET把参数包含在URL中,POST通过请求体传递参数
总结:请求路径被映射为了controller层中类的的一个方法上,而请求路径上携带的参数或者请求体中的参数至少要将执行该映射方法的所有形参全部传入,否则方法执行缺少参数造成400错误。前后端的参数映射可以通过注解进行匹配也可以自动进行匹配(要求参数名相同)

4.@RequestParam与@RequestBody
相同点:都注解在方法的参数上,用于后台正确接收前端数据
不同点:一个请求,只有一个RequestBody,但可以有多个RequestParam。
@RequestBody主要用来接收前端通过POST请求传递给后端的json字符串;(本质是json的key与实体类的属性进行匹配,匹配成功调用setter方法,所以要保证json中的key与实体类属性名相同且实体类有setter方法)
如果参数不是放在请求体中的话,那么后台接收前台传过来的参数时,要用@RequestParam来接收,或者形参前什么也不写也能接收。
如果参数前写了@RequestParam(xxx),那么前端必须有对应的xxx名字才行,没有的话会自动匹配,只有匹配不上才会报400

postman接口测试

在这里插入图片描述
CRUD接口开发工程师GET!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值