前后段分离后、就需要对接口进行测试,各种参数以及对象的请求中,遇到了各种问题,小结一下
a、list参数,form形式是无法传参的
b、主要测试参数
1、测试实体类
/** * @author Levi * @date 2019/9/18 9:31 */ @Data @AllArgsConstructor @NoArgsConstructor @Builder
public class Animal { private String name; private Integer type; private String num; private Long id; private Date birthDate; List<Animal> animalList; private Animal animal2;}
测试Controller
@PostMapping("/animals") //简略版本测试 public AjaxResponse saveArticle(@RequestBody Animal animal) { log.info("saveArticle:{}",animal); return AjaxResponse.success(animal); } @PostMapping("/animals2") public AjaxResponse saveArticle2(@ModelAttribute Animal animal) { log.info("saveArticle:{}",animal); return AjaxResponse.success(animal); }
@RequestBody用于接收json字符串的属性,里面可以包含对象:
后台可以成功返回结果并打印:注意提交的类型为raw json
2、使用@ModelAttribute在后台接收队形,postMan利用form提交数据
另外一种情况,既有单个参数,又有对象,修改第二个接口:
@PostMapping("/animals2")public AjaxResponse saveArticle2(@ModelAttribute Animal animal, @RequestParam (value = "id", required = true) Long id) { log.info("saveArticle:{}",animal); return AjaxResponse.success(animal);}
这样请求,后台只能接收到前面一个id
两个id均可获得值
当对象中还有对象,需要用“对象.属性”进行传值
请求参数如上
得到了animal2的值
原文地址:https://www.cnblogs.com/liweiweicode/p/10942769.html
时间: 2024-10-12 22:39:54