@RequestBody 注解问题

 如果参数少于三个,直接在controller层 方法头上加@RequestBody 

一、@RequestMapping 基础用法


用于将任意HTTP 请求映射到控制器方法上。

@RequestMapping表示共享映射,如果没有指定请求方式可以用@RequestMapping代替,将接收GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT所有的HTTP请求方式。@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体,分别对应具体的HTTP请求方式的映射注解。

注意:如果参数不是对象类时,又恰巧axiospost或put 后端必须用 @RequestBody 加在参数前(@RequestBody  String XX)

因为Post和Put,默认传递的是 JSON格式 请求体所以要用到@RequestBody;

/**
         * 不管你是get 请求 还是 post 请求  只要你的参数名称叫做abc 
         * 这里的abc 必须和 postman里面的key 一样 
         * 值是什么无所谓  都可以接受到;
         * 如果页面有40个参数  你写太多了  所以 对象最好接收  多个参数  超过3个以上
         * 但是这个时候  还是一样 不管你是get 请求 还是post请求 
         * 只要key 的名称  等于  a对象类里面的属性名称 就接受的到
         * 到目前位置 懂吗 
         * 然后  页面 除了 传一般的参数  还可以传特殊的参数 json格式的参数
         * 这种json格式的参数  有两个要求
         * 1.必须用对象
         * 2.必须在对象前面加注解 如果不加 就报错
         * 3.对象里面的属性名称 还是要等于json格式里面的 key的名称
         * 你看  你满足了2点  但是 没有加注解 所以还是接受不到
         * 
         *
         */

 

	@RequestMapping("/demo")
	public void show(@RequestBody A a) {
	 
		System.out.println(a);
	}
	
	

 

axios的post、put 等请求方式默认传递的是 JSON格式 请求体,后端必须用 @RequestBody 注解的方式将 JSON request body 转换为 Java 对象类型,如:

@PutMapping("/update")
public void updateDept( @RequestBody Dept entity ) { ... }

 

	@RequestMapping("/demo")
	public void show(String name,String location) {
		System.out.println(name+location);
		 
	}
	
	

 

 

Servlet根据前端Axios设置的"Get" 或者“Post”进行设置相应的“PostMapping”和“GetMapping”或者设置@RequestMapping

但参数要是用对象类;

如下:

 

 

posted @   しゅおく  阅读(279)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示