郑州网站推广报价,dw 做的网站能用吗,wordpress自定义弹窗,制作公司网页软件RequestParam PathVariable 1、Request参数 在访问各种各样网站时#xff0c;经常会发现网站的URL的最后一部分形如#xff1a;#xff1f;xxxxyyyyzzzzwwww。这就是HTTP协议中的Request参数#xff0c;它有什么用呢#xff1f;先来看一个例子#xff1a; 在知乎中… RequestParam PathVariable 1、Request参数 在访问各种各样网站时经常会发现网站的URL的最后一部分形如xxxxyyyyzzzzwwww。这就是HTTP协议中的Request参数它有什么用呢先来看一个例子 在知乎中搜索web浏览器跳转到新页面后URL变为https://www.zhihu.com/search?typecontentqweb这里typecontentqweb就是搜索请求的参数不同参数之间用分隔每个参数形如namevalue形式分别表示参数名字和参数值。在这个例子中我们输入不同的搜索关键词在搜索结果页面的URL的q参数是不同的也就是说HTTP参数实际上可以认为是一种用户的输入根据不同的用户输入服务器经过处理后返回不同的输出例如搜索spring和搜索java显示结果是不一样的。 2、Spring MVC中的Request参数 在SpringMVC框架中现在我们已经可以通过定义RequestMapping来处理URL请求了和PathVariable一样我们也需要再处理URL的函数中获取URL中的参数-也就是?keyvalue1key2value2这样的参数列表。通过注解RequestParam可以轻松的将URL中的参数绑定到处理函数方法的变量中 RequestMapping(/user)
ResponseBody
public String getUserBlog(RequestParam(id) int blogId) {return blogId blogId;
} 这样当我们访问/user/?id123时Spring MVC帮助我们将Request参数id的值绑定到了处理函数的参数blogId上。这样就能够轻松获取用户输入并根据它的值进行计算并返回了。 运行结果 3、RequestParam vs PathVariable 相信大家可能注意到了RequestParam和PathVariable都能够完成类似的功能——因为本质上它们都是用户的输入只不过输入的部分不同一个在URL路径部分另一个在参数部分。要访问一篇博客文章这两种URL设计都是可以的 通过PathVariable例如/blogs/1通过RequestParam例如blogs?blogId1那么究竟应该选择哪一种呢建议 当URL指向的是某一具体业务资源或者资源列表例如博客用户时使用PathVariable当URL需要对资源或者资源列表进行过滤筛选时用RequestParam例如我们会这样设计URL /blogs/{blogId}/blogs?statepublish而不是/blogs/state/publish来表示处于发布状态的博客文章 4、更多用法 一旦我们在方法中定义了RequestParam变量如果访问的URL中不带有相应的参数就会抛出异常——这是显然的Spring尝试帮我们进行绑定然而没有成功。但有的时候参数确实不一定永远都存在这是我们可以通过定义required属性 RequestParam(nameid,requiredfalse) 当然在参数不存在的情况下可能希望变量有一个默认值 RequestParam(nameid,requiredfalse,defaultValue0) 转载地址https://www.cnblogs.com/fangpengchengbupter/p/7826565.html posted 2018-12-05 20:55 niceyoo 阅读(...) 评论(...) 编辑 收藏