一、作用
用来接收前端传递给后端的 json 字符串中的数据。
二、要求
如果前端使用 GET 方式提交,则不能使用 @RequestBody 注解,因为 GET 方式提交时它无请求体。
所以前端需要使用 POST 方式进行提交。在后端使用 @RequestBody 注解进行接收。
三、代码展示
controller 层代码如下所示:
@RestController
@Slf4j
public class PaymentController {
@Resource
PaymentService paymentService;
@PostMapping("/payment/create")
public CommonResult create(@RequestBody Payment payment){
int result = paymentService.create(payment);
log.info("*****插入操作返回结果:" + result);
if(result >0){
return new CommonResult(200,"插入成功",result);
}else{
return new CommonResult(404,"插入失败",null);
}
}
}
实体类代码如下所示:
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Payment implements Serializable {
private Long id;
private String serial;
}
前端请求代码如下所示:
四、注意
一个请求,只能有一个 @RequestBody 注解。
五、不使用 @RequestBody
controller 层代码如下所示:
@RestController
@Slf4j
public class PaymentController {
@Resource
PaymentService paymentService;
@GetMapping("/payment/create")
public CommonResult create( Payment payment){
int result = paymentService.create(payment);
log.info("*****插入操作返回结果:" + result);
if(result >0){
return new CommonResult(200,"插入成功",result);
}else{
return new CommonResult(404,"插入失败",null);
}
}
}
前端请求代码如下所示: