springboot中的controller层和postman接口测试

39 篇文章 20 订阅

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!

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是操作步骤: 1. 创建SpringBoot项目,并添加Mybatis和MySQL依赖。 2. 创建实体类和Mapper接口,并在Mapper接口定义增删查改的方法。 3. 在application.properties文件配置数据库连接相关信息。 4. 编写Controller调用Mapper接口的方法,并使用@RequestBody注解接收前端传来的数据。 5. 使用Postman进行测试,发送对应的请求并查看返回结果。 具体的代码实现可以参考以下示例: 实体类: ``` public class User { private int id; private String name; private int age; // 省略getter和setter方法 } ``` Mapper接口: ``` @Mapper public interface UserMapper { List<User> findAll(); User findById(int id); void insert(User user); void update(User user); void delete(int id); } ``` Controller: ``` @RestController public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/users") public List<User> findAll() { return userMapper.findAll(); } @GetMapping("/users/{id}") public User findById(@PathVariable int id) { return userMapper.findById(id); } @PostMapping("/users") public void insert(@RequestBody User user) { userMapper.insert(user); } @PutMapping("/users/{id}") public void update(@PathVariable int id, @RequestBody User user) { user.setId(id); userMapper.update(user); } @DeleteMapping("/users/{id}") public void delete(@PathVariable int id) { userMapper.delete(id); } } ``` 使用Postman进行测试: 1. GET请求,查询所有用户: ``` 请求方式:GET 请求URL:http://localhost:8080/users ``` 2. GET请求,根据ID查询用户: ``` 请求方式:GET 请求URL:http://localhost:8080/users/1 ``` 3. POST请求,新增用户: ``` 请求方式:POST 请求URL:http://localhost:8080/users 请求体:{ "name": "Tom", "age": 20 } ``` 4. PUT请求,修改用户: ``` 请求方式:PUT 请求URL:http://localhost:8080/users/1 请求体:{ "name": "Tom", "age": 21 } ``` 5. DELETE请求,删除用户: ``` 请求方式:DELETE 请求URL:http://localhost:8080/users/1 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值