💗wei_shuo的个人主页
💫wei_shuo的学习社区
🌐Hello World !
文章目录
- @RequestBody
- @PathVariable
- @RequestParam
- @Validated
- 方法参数校验
- 方法返回值校验
- @RequestHeader
- @HttpServletRequest
## Java接收前端请求体的方式请求体(Request Body)是HTTP请求中的一部分,用于传输请求的数据;在HTTP请求中,请求体通常用于POST、PUT等需要传递数据的请求方法
- 表单数据(Form Data):请求体以键值对的形式表示,使用&符号分隔不同字段;例如:username=johndoe&password=123456
- JSON数据:请求体以JSON(JavaScript Object Notation)格式表示,通常用于传递结构化的数据;例如:{"name": "John Doe", "email": "johndoe@example.com"}
- 文件上传:请求体用于传输文件的二进制数据;通常会使用特定的编码方式对文件进行处理,如multipart/form-data
@RequestBody
@RequestBody:Spring框架中用于接收前端请求体的注解,可以将请求体的内容绑定到Java对象中
http://localhost:8080/api/search?code=123
@GetMapping("/search") public void handleRequest(@RequestParam("code") String code) { // 处理路径参数 }
@PathVariable
@PathVariable:Java中接收前端请求中的路径参数;路径参数是指URL中的一部分,它们以占位符的形式存在于API的URL中,可以在Java代码中动态获取和使用
http://localhost:8080/api/example/123
@GetMapping("/example/{id}") public void handleRequest(@PathVariable("id") String id) { // 处理路径参数 }
@RequestParam
@RequestParam注解:接收查询字符串参数或表单参数;可以将请求中的参数值绑定到方法的参数上;该方式适用于获取特定参数的值
@RequestParam(value="参数名",required="true/false",defaultValue="") // value:参数名 // required:是否包含该参数,默认为true:请求路径必须包含该参数,否则报错 // defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值
http://localhost:8080/api/example?id=123
@GetMapping("/example") public void handleRequest(@RequestParam(value="id",required="true")) { // 处理路径参数 }
http://localhost:8080/api/example?123 required= false:表示请求中可以没有该参数,方法参数将被设置为 null
@GetMapping("/example") public void handleRequest(@RequestParam(value="id",required="false")) { // 处理路径参数 }
http://localhost:8080/api/example?id=1 defaultValue="hello":接受参数默认为123,有参数传递则为请求参数
@GetMapping("/example") public void handleRequest(@RequestParam(value="id",required="false",defaultValue="123")) { // 处理路径参数 }
@Validated
@Validated注解:方法参数或方法返回值进行校验
方法参数校验
方法参数校验,应用于控制器的处理方法,验证传入参数是否满足指定校验规则
@Validated注解应用在方法的参数上,对request参数进行校验;校验的规则可以通过在RequestDto类的属性上使用注解@NotNull、@NotBlank等定义
@PostMapping("/example") public void handleRequest(@Validated @RequestBody RequestDto request) { // 处理请求 }
方法返回值校验
处理方法的执行完毕,可以对方法返回对象进行校验,确保返回数据满足指定校验规则
@Validated注解应用在方法的返回值上,对ResponseDto对象进行校验;校验规则通过ResponseDto类的属性上使用注解来定义
@GetMapping("/example/{id}") public @Validated ResponseDto handleRequest(@PathVariable("id") String id) { // 处理请求 return responseDto; }
@RequestHeader
@RequestHeader注解:接收请求头的值,可以将请求头中指定的信息绑定到方法的参数上
@GetMapping("/example") public void handleRequest(@RequestHeader("User-Agent") String userAgent) { // 处理请求头的值 }
@HttpServletRequest
@HttpServletRequest注解:方法参数中注入HttpServletRequest对象,通过它来获取完整的请求信息,包括请求体、请求头、路径参数和查询字符串参数等
@PostMapping("/example") public void handleRequest(HttpServletRequest request) { // 处理请求信息 }
🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——点赞👍收藏⭐️评论📝
猜你喜欢
- 19天前(上海文旅产业发展高峰论坛)《上海打造文旅元宇宙新赛道行动方案》发布
- 19天前(屿见不一样是哪个酒店)屿见白纱,遇见自己 “佳能PhotoGirls屿见白纱”摄影派对玩转海岛
- 19天前(甘肃文旅项目)甘肃省文旅产业链招商引资推介会在天水成功举办
- 19天前(“为人民绽放——国家艺术基金优秀剧目展演”在合肥开幕)“为人民绽放——国家艺术基金优秀剧目展演”在合肥开幕
- 19天前(曼谷丽思卡尔顿公寓价格)在曼谷丽思卡尔顿酒店CALEŌ 邂逅鸡尾酒的浪漫艺术
- 19天前(新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇)新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇
- 19天前(内蒙古冬季旅游攻略)内蒙古冬日奇遇:携程租车带你策马踏雪
- 19天前(锦江 iu)锦江荟APP原生鸿蒙版正式上线打造全场景旅行服务新体验
- 19天前(芜宣机场国际航班)新华丝路:芜宣机场开通至越南首都河内的国际货运航线
- 19天前(泸沽湖大酒店地址)泸沽湖岚岳酒店盛大开业|以摩梭文化为魂,打造高端度假新地标
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章