SpringBoot入坑-请求参数传递
前一篇我们探讨了关于springboot的配置文件和Controller的使用,本篇我们来一起探讨一下关于springboot如何传递参数的知识。
参数传递我们最常见的就是在url后通过?/&两个符号来将参数传递到后台,当然springboot也是也一样,我们可以通过这种方式将参数传递到后台,那么后台如何接收这些参数呢?下面我们一起学习一下:
这里我们将用到@RequestParam注解,这个注解有三个参数分别是:value、required、defaultValue,具体的用法,下面一一为大家介绍。
@RequestMapping(value = "/par1", method = RequestMethod.GET)
public String reqPar1(@RequestParam("name") String name){
return name;
}
通过@RequestParam注解声明接收用户传入的参数,这样当我们在浏览器输入http://localhost:8080/par1?name=123
@RequestMapping(value = "/par2", method = RequestMethod.GET)
public String reqPar2(@RequestParam(value = "name", required = false) String name){
if(null != name){
return name;
}else{
return "未传入参数";
}
}
我们看到第一个接口我们并没有写value和required,其实第一个接口是简写,等同于
@RequestParam(value = "name", required = true)
required=true:该参数不能为空;相反required=false:该参数能为空
@RequestMapping(value = "/par3", method = RequestMethod.GET)
public String reqPar3(@RequestParam(value = "name", defaultValue = "null") String name){
return name;
}
最后说一下defaultValue看字面意思,估计你已经想到它的作用了,是的当我们未穿入该参数时的默认值。
下面我们先看一下博客园中博客地址的链接:http://www.cnblogs.com/AndroidJotting/p/.html,请大家注意红色位置,这样的参数传递是不是很有趣,我们并不用设置参数的key,那么这是怎么实现的呢?请接着看。
@RequestMapping(value = "/par4/{id}", method = RequestMethod.GET)
public Integer reqPar4(@PathVariable("id") Integer id){
return id;
}
这样是不是和博客园的访问很像,这样我们便可以直接将传递参数加在url后面。最后再来活学活用一下:
@RequestMapping(value = "/{id}/par5", method = RequestMethod.GET)
public Integer reqPar5(@PathVariable("id") Integer id){
return id;
}
OK到这里关于参数传递的内容就和大家分享完毕,最后再给大家补充一个小知识:
resources资源springboot默认只映射static、templates两个文件夹下的文件,那么如何进行拓展呢?很简单,比如我们在resources下新建一个image资源,这是我们需要打开项目的主类:xxApplication
@SpringBootApplication
public class Springboot1Application extends WebMvcConfigurerAdapter { public static void main(String[] args) {
SpringApplication.run(Springboot1Application.class, args);
} @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
super.addResourceHandlers(registry);
//这种方式会在默认的基础上增加/image/**映射到classpath:/image/,不会影响默认的方式,可以同时使用。
registry.addResourceHandler("/image/**")
.addResourceLocations("classpath:/image/");
}
}
这样简单一配置,我们就完成了上面的需求。
下一篇springboot持久化操作
SpringBoot入坑-请求参数传递的更多相关文章
- SpringBoot入坑-项目搭建
对于学过三大框架的小童鞋,从今天开始给大家带来一套新的框架学习,相信对于做程序的小童鞋一定有所耳闻,作为下一代java开发框架springboot,减去了繁琐的xml配置,相信用过spring.sta ...
- Idea+springboot入坑之路
环境准备 IDEA 社区版: 2019.3 jdk: 1.8.0_241 tomcat: 7.0.99 maven: 3.6.3 spring-boot:2.2.5.RELEASE 插件 spring ...
- SpringBoot入坑指南之六:使用过滤器或拦截器
在Web应用中,常常存在拦截全部或部分请求进行统一处理的应用场景,如权限校验.参数校验.性能监控等. 在SpringMVC框架中,我们可以通过过滤器或拦截器实现相关功能,spring-boot-sta ...
- SpringBoot入坑-持久化操作
前面内容中我们已经了解到了SpringBoot关于参数传递的相关知识,本篇我们一起来学习一下SpringBoot关于数据库持久化操作的知识,这里我们使用JPA进行数据库的持久化操作. 首先由于我们需要 ...
- SpringBoot入坑-配置文件使用
经过上一篇的介绍,相信小伙伴们已经按奈不住内心对springboot的向往,本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们 ...
- Angular 从入坑到挖坑 - HTTP 请求概览
一.Overview angular 入坑记录的笔记第四篇,介绍在 angular 中如何通过 HttpClient 类发起 http 请求,从而完成与后端的数据交互. 对应官方文档地址: Angul ...
- Spring Cloud Gateway入坑记
Spring Cloud Gateway入坑记 前提 最近在做老系统的重构,重构完成后新系统中需要引入一个网关服务,作为新系统和老系统接口的适配和代理.之前,很多网关应用使用的是Spring-Clou ...
- Angular 从入坑到挖坑 - Router 路由使用入门指北
一.Overview Angular 入坑记录的笔记第五篇,因为一直在加班的缘故拖了有一个多月,主要是介绍在 Angular 中如何配置路由,完成重定向以及参数传递.至于路由守卫.路由懒加载等&quo ...
- Angular 从入坑到挖坑 - 路由守卫连连看
一.Overview Angular 入坑记录的笔记第六篇,介绍 Angular 路由模块中关于路由守卫的相关知识点,了解常用到的路由守卫接口,知道如何通过实现路由守卫接口来实现特定的功能需求,以及实 ...
随机推荐
- python之item方法
__setitem__ __getitem__ __delitem__这三个函数 是通过字典形式来处理属性 字典形式使用中括号的方式获取值 class Foo: def __init__(sel ...
- 安装 VS2017 的正确姿势
自从装了长城带宽,我的肠子就变成青色的了. 国内的网络环境,真的是有很大的不同,有的人装 VS 的时候,号称满速,有的人(其实就是我)要等它下载很久,还告诉我有个组件没有安装成功.很久很久以前,VS ...
- JS_高阶函数(sort)
//javaScript sort()排序算法 //sort()方法默认把所有的元素转换成String再排序,字符串是根据ASCII进行排序的,所以会出现“10”排在“2”前面,或是小写字母“a”排在 ...
- Summary on mapreduce.framework.name init error
An exception occured while performing the indexing job : java.io.IOException: Cannot initialize Cl ...
- Atcoder4105 Same Integers(模拟)
https://abc093.contest.atcoder.jp/tasks/arc094_a?lang=en 思路题还是不太会做哈.感觉数据不大,一开始dfs做但是发现不是最优解,一想确实是这么一 ...
- [原创]Studio 3T mogodb数据库工具使用介绍
[原创]Studio 3T mogodb数据库工具使用介绍 1 Studio 3T 简介 Studio 3T是一款功能强大的mangodb工具,主要为用户提供网页设计.代码输入.编程管理.数据库编辑 ...
- Win 10 System Restore Fail 0x80070091
Question: Below about says it all. I tried SysRes from two points, both with same failure. System R ...
- SharePoint 前端开发常用的对象之_spPageContextInfo
前言 _spPageContextInfo对象,是SharePoint开发一个非常常用的对象,尤其是前端开发,可以非常方便的获取到一些和站点有关的信息. 完整对象如下图,需要什么属性,可以自己获取,然 ...
- 【JavaScript从入门到精通】第四课初探JavaScript魅力-04
第四课初探JavaScript魅力-04 style与className 之前我们已经讲过,style用于在JS里控制元素的样式,通过style可以选中元素的各种css属性.此外,我们也提到过,JS用 ...
- 为什么虚拟 dom 会提高性能?
虚拟 dom 相当于在 js 和真实 dom 中间加了一个缓存,利用 dom diff 算法避免了没有必要的 dom 操作,从而提高性能.用 JavaScript 对象结构表示 DOM 树的结构:然后 ...