后端:

    @PostMapping
    public boolean addTodo(@RequestBody SimpleTodos todo){
        int i = todoMapper.addTodo(todo);
        return i>0;
    }

前端:

// 新增一个todo
export const reqPostTodos=(todo)=>requests.post("/todos",{
    todo:todo
},{
    headers:{
        "Content-Type":"application/json"
    }
})

①@RequestBody不能接受GET请求,因为GET请求没有请求体

②@RequestBody接收数据类型为json字符串,所以前端传入data数据应该是json字符串类型

(可以不指定请求头)

特别说明:

@RequestBody        @RequestParam        @PathVariable

区别:

        @RequestParam用于接收url地址传参或表单传参

        @RequestBody用于接收json数据

        @PathVariable用于接收路径参数,使用{参数名称}描述路径参数

应用:

        后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广

        如果发送非json格式数据,选用@RequestParam接受请求参数

        采用RESTful进行开发时,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐