@GetMapping和@PostMapping区别详解

@GetMapping:
直接从URL获得数据,以www.xxx.com/?id=1类似这种形式传输。
举例:
在这里插入图片描述

这个URL中,请求来到后端,并且是一个Get方法,那么selectById就会接受到一个id=1这样的参数
@PostMapping
请求会从body部分拿到数据,好处是一些不希望用户看到的数据会放在body里面传输。
举例
在这里插入图片描述
这个post方法,pageNum和pageSize数据都在body里面而不是在url里

  • 49
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@PostMapping是一个复合注解,它是Spring framework 4.3引入的@RequestMapping注解的变体,用于更好地表示带注释的方法的语义。它是@RequestMapping(method = RequestMethod.POST)的快捷方式,可以简化成@PostMapping(value="/abc")。主要是为了方便记忆。\[1\] 对于@PostMapping的实现,根据引用\[2\]的说明,如果是接收json格式的请求参数,需要传输参数是json(application/json;charset=utf-8),并且接收参数可以是一个参数或者是一个对象,并且参数前需要加上@RequestBody注解。如果是表单提交(application/x-www-form-urlencoded),接收参数没有特定要求,可以是一个对象或者多个参数的接收方式。 在Spring Boot中,@PostMapping注解还有一些常用的属性,如引用\[3\]所示: - name/value:指定请求路由地址 - path:指定请求路由地址,与name/value属性作用相同 - params:指定request中必须包含某些参数值 - headers:指定request中必须包含某些指定的header值 - consumes:指定请求提交内容类型,使用MediaType方式,如application/json、application/x-www-urlencode、multipart/form-data等 - produces:指定请求返回的数据类型,仅当request请求头中的Accept类型中包含该指定类型才返回,如application/json 下面是一个使用@PostMapping的示例代码: ```java @PostMapping(value = "/admin", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<Object> postPCWithJson(@RequestBody Object body, HttpServletRequest request, HttpServletResponse response, HttpMethod httpMethod) throws URISyntaxException { // TODO: 处理请求逻辑 return new ResponseEntity<>("", HttpStatus.OK); } ``` 以上代码中,@PostMapping注解指定了请求路由地址为"/admin",请求提交内容类型为application/json,请求返回的数据类型为application/json。方法参数中的@RequestBody注解表示接收json格式的请求参数,并将其映射到方法的参数对象中。\[3\] #### 引用[.reference_title] - *1* [@PostMapping注解解析](https://blog.csdn.net/Butterfly_resting/article/details/99705532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [@GetMapping和@PostMapping接收参数的格式](https://blog.csdn.net/weixin_36469726/article/details/117854201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [springboot中@PostMapping常用说明](https://blog.csdn.net/aa390481978/article/details/106546422)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值