当前位置: 首页 > wzjs >正文

杭州化妆品网站建设企业建站免费模板

杭州化妆品网站建设,企业建站免费模板,wordpress 图册业民啊,网页编辑文字📌 博主简介: 💻 努力学习的 23 级科班生一枚 🚀🏠 博主主页 : 📎 灰阳阳📚 往期回顾 :Session和Cookie我不允许你不懂💬 每日一言: 「流水不争先&#xff0c…
  • 📌 博主简介: 💻 努力学习的 23 级科班生一枚 🚀
  • 🏠 博主主页 : 📎 @灰阳阳
  • 📚 往期回顾 :Session和Cookie我不允许你不懂
  • 💬 每日一言: 「流水不争先,争的是滔滔不绝」 🌊

碎碎念
作为一名学习spring框架的小白来说,项目实战无疑是学习成长速度最快的阶段之一。但这也不免会遇到很多折磨人的知识点让人防不胜防。比如参数绑定相关注解的使用:

  • @Param
  • @RequestParam
  • @RequestBody

用哪个?啥时候必须用?啥时候可以不用?把俺整的的一愣一愣的。
在这里插入图片描述
于是特意整理了这篇博客,目的是帮助大家快速理清这些注解的使用场景和区别,避开常见的坑点。


目录

  • 前言
  • 一、@RequestParam
    • 什么时候必须用@RequestParam?
    • 什么时候可以不用@RequestParam?
  • 二、@ModelAttribute
    • 作用
    • 使用@ModelAttribute时的注意点:
  • 三、@RequestBody
    • 什么时候必须用@RequestBody?
    • 什么时候可以不用@RequestBody?
  • 四、表格整理


前言

本博客将会详细讲解以下参数绑定相关注解的使用场景,说明它们之间的关系和区别,以及在项目开发中使用的规范

  • @RequestParam
  • @RequestBody
  • @@ModelAttribute

一、@RequestParam

@RequestParam专门用于获取请求URL中的参数,也就是问号?后面的参数。(HTML的form表单也适用)

例如下面的请求:

GET /search?name=Tom&age=25

对应的Controller方法:

@GetMapping("/search")
public String search(@RequestParam String name, @RequestParam Integer age) {return "搜索名字:" + name + ",年龄:" + age;
}

什么时候必须用@RequestParam?

  • 当方法参数名和请求参数名不一致时必须用

    @GetMapping("/search")
    public String search(@RequestParam("user_name") String name) {return name;
    }
    
  • 参数非必传时(可选)必须明确标注

    @GetMapping("/search")
    public String search(@RequestParam(required = false) String name) {return name;
    }
    

RequestParam(required = false)的意思是如果前端没有传递参数name,不会直接报错,而是赋值null。

什么时候可以不用@RequestParam?

  • 当方法参数名和请求URL参数名完全一致并且参数是必传时,可以省略:

    // URL: /search?name=Tom
    @GetMapping("/search")
    public String search(String name) {return name;
    }
    

二、@ModelAttribute

作用

@ModelAttribute`注解专门用于将请求参数(URL参数表单数据)绑定到一个Java对象中,尤其适合表单提交的场景或有多个参数需要绑定的情况。

例如请求:

GET /user?name=Tom&age=20

对应的Controller方法:

@GetMapping("/user")
public String getUser(@ModelAttribute User user) {return "姓名:" + user.getName() + ",年龄:" + user.getAge();
}

User类定义:

public class User {private String name;private Integer age;// getter和setter方法必须提供
}

使用@ModelAttribute时的注意点:

  • 对象的属性名称必须与请求中的参数名称保持一致,这样才能正确绑定。
  • 如果有多个参数,并且这些参数是Java对象的,那么推荐使用这个注解(前端发送请求非JSON等格式的情况下)

三、@RequestBody

@RequestBody用于接收HTTP请求体(Request Body)中的数据,常用于POST请求,通常是JSON格式的数据。

例如POST请求:

POST /user
Content-Type: application/json{"name": "Alice","age": 30
}

对应的Controller方法:

@PostMapping("/user")
public String createUser(@RequestBody User user) {return "用户姓名:" + user.getName() + ",年龄:" + user.getAge();
}

User类定义:

public class User {private String name;private Integer age;// getter和setter方法
}

什么时候必须用@RequestBody?

  • 前端发送JSON数据或XML数据等格式到后端时必须用
  • 当你需要整个请求体的数据绑定到一个Java对象时。

什么时候可以不用@RequestBody?

  • 当数据从URL参数(如GET请求)或表单数据中获取时,不需要也不能使用@RequestBody。
  • 对于表单提交,可以使用@ModelAttribute来代替:
@PostMapping("/submit")
public String submitForm(@ModelAttribute User user) {return user.getName();
}

四、表格整理

场景传参方式适用注解是否必须
单个或少量简单参数(如 ?name=TomURL参数或表单提交@RequestParam推荐✅
多个参数形成对象(如 ?name=Tom&age=20URL参数或表单提交@ModelAttribute推荐 ✅
JSON、XML数据请求体(POST)@RequestBody必须用

使用规范:
如果仍然觉得比较绕,最简单粗暴的方式就是全部都用上参数绑定。
因为不论参数是否一致,始终明确标注注解,可以提高代码可读性和可维护性。

http://www.dtcms.com/wzjs/139853.html

相关文章:

  • 南皮县做网站关键词排名优化方法
  • 有做企业网站的吗网站seo平台
  • 云阳网站建设公司社区建站网站系统
  • 东莞品牌做网站路由器优化大师
  • 中文域名注册网站上海关键词优化方法
  • 免费招聘网站哪个好广告公司简介
  • 网站建设维护去哪里学搜索app下载
  • 网站建设外包第一营销网
  • 青岛英文建站公司官网优化 报价
  • wordpress .net版本号整站优化排名
  • 福田网站制作哪家好宣传推广渠道有哪些
  • 百度网站收录seo推广怎么做视频教程
  • 江门网站制作设计域名注册官网
  • 怎么用群晖nas做网站西安做推广优化的公司
  • 公司做网站费用seo关键词推广案例
  • 大连网络营销咨询服务seo确定关键词
  • 动态网站建设试题软文素材网
  • 郑州手机网站开发营销型企业网站案例
  • 汕头 网站建设搜狗推广助手
  • 网站模板 wordpress带会员系统青岛网站设计制作
  • 深圳web网站开发公司大型网站建设公司
  • 网站通知发送邮件seo实战
  • 网站名称是什么seodao cn
  • 上饶网站建设兼职关键词长尾词优化
  • 网站开发预算成本价宁波seo排名优化培训
  • 做网站开发钱公司网页制作需要多少钱
  • 廊坊网站关键词排名线上销售水果营销方案
  • 做网站目录网络推广平台网站推广
  • 临沂做网站公司西安seo服务公司排名
  • 做优化的网站电话如何查看百度搜索指数