@PathVariable为空时指定默认值,

可以指定多个匹配路径,然后设置参数非必要的,就可以了,例子如下

@RequestMapping(value = {"/timeline/{uid}", "/timeline/{uid}/{size}"})

public ModelAndView getTimeline(@PathVariable(value="uid" ) String articleUserId,

@PathVariable(value="size" , required = false) Integer size,

ModelAndView modelAndView) {

if(size == null) size = 50;

//逻辑

}

对于下面两种URL都是可以处理的

http://www.leixingke.com/article/timeline/leixing

http://www.leixingke.com/article/timeline/leixing/100

补充:@PathVariable设置为空的问题(required=false)

最近学习springMVC的时候,学到@PathVariable后,发现@PathVariable有个required属性,于是将其设置为false,发现访问请求时报错。

刚开始我的代码是这样的:

@RequestMapping(value={"/user/{id}/{name}"})

public User getUser(@PathVariable(value="id",required=false) Integer id,@PathVariable(value="name",required=false) String name ){

System.out.println("--------------:"+id+","+name);

User user=new User(id,name);

return user;

}

后面发现上面的文章,将方法改成如下就可以了:

/**

* http://localhost:8080/helloWorld/user/1/zhangsan

* http://localhost:8080/helloWorld/user/1

* http://localhost:8080/helloWorld/user

* @param id

* @param name

* @return

*/

@RequestMapping(value={"/user/{id}/{name}","/user/{id}","/user"})

public User getUser(@PathVariable(value="id",required=false) Integer id,@PathVariable(value="name",required=false) String name ){

System.out.println("--------------:"+id+","+name);

User user=new User(id,name);

return user;

}

原因就是地址是不一样的,需要配置多个地址映射。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

java某个参数值设置为空_@PathVariable为空时指定默认值的操作相关推荐

  1. @PathVariable为空时指定默认值

    @PathVariable为空时指定默认值, 可以指定多个匹配路径,然后设置参数非必要的,就可以了,例子如下 @RequestMapping(value = {"/timeline/{uid ...

  2. pgsql将为NULL或空字符串的字段替换为指定默认值,格式化时间戳,用指定分隔符截取字符串等操作

    一.将为NULL或空字符串的字段替换为指定默认值 update 表名 set 字段 = COALESCE(NULLIF(trim(字段名), ''), '默认值'); 用例:select COALES ...

  3. Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写

    Oracle数据库:约束条件:主键约束.唯一约束.检查约束.非空约束.外键约束.默认值填写 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开 ...

  4. java zoneid 中国_关于时区:Java 8 Time API – ZonedDateTime – 在解析时指定默认的ZoneId...

    我正在尝试编写一个泛型方法来返回ZonedDateTime给定日期为String及其格式. 如果String未在日期String中指定,我们如何使ZonedDateTime使用默认ZoneId? 它可 ...

  5. Java初认识--基本数据类型(int 和byte之间赋值)默认值 类型强转

    Java简单介绍 Java面向对象:一个面向对象的木匠关心的制作的椅子:这个木匠干了什么事情 非面向对象的木匠关心的是所使用的工具. 狗吃粮 面向对象 吃狗粮 非面向对象 Java与c++区别: 1. ...

  6. mysql设置text字段为not null,并且没有默认值,插入报错:doesn't have a default value

    一.问题描述 在往数据库写入数据的时候,报错: '字段名' doesn't have a default value 本来这个错误是经常见到的,无非就是字段没有设置默认值造成的.奇怪的是,我这边报错的 ...

  7. java参数注解pam_java – 使用xmlelement defaultvalue注释指定默认值的简单方法

    我通过JAXB有一个简单的pojo注释类: public class MyPojo implements Serializable { private final static long serial ...

  8. php要输出为空值怎么写,thinkphp3.0基础模板引擎变量为空时输出默认值

    在thinkphp的模板引擎中,如果输出的变量是空的,但我们的设计需求又不想让这里空出一大块,需要给这个变量指定一个默认值,也就是说,如果 这个变量为空,就显示我们指定的默认值.那么这个可不可以在th ...

  9. mysql创建表设置数值范围,MySQL创建数据表时设定引擎MyISAM/InnoDB操作

    我在配置mysql时将配置文件中的默认存储引擎设定为了innodb.今天查看了myisam与innodb的区别,在该文中的第七条"myisam支持gis数据,innodb不支持.即myisa ...

最新文章

  1. php读取西门子plc_基于Socket访问西门子PLC系列教程(二)
  2. Linux里如何查找文件内容 grep
  3. JavaScript对象继承方式
  4. java 选中当前,Java开发网 - 请问如何获得SWT中List widget当前选中的项目
  5. 阿里云RPA(机器人流程自动化)干货系列之二:认识RPA(下)
  6. 随机生成从大到小排序python_随机快速排序(使用Python描述)
  7. java服务器返回错误码,java - java.io.IOException:服务器返回URL的HTTP响应代码:409 - 堆栈内存溢出...
  8. 建立一个普通方法无法打开查看和删除的文件夹
  9. Rabbitmq-server-3.7.18安装完整过程
  10. 【仿真】Proteus8.9 下载与安装教程(超详细)
  11. 联想Y7000安装双系统(Windows10与Ubuntu16.04)
  12. 亲邻门禁卡复制数据分析
  13. matlab 粒子群应用,粒子群算法程序应用
  14. wxml 判断 小程序_微信小程序WXML-小样儿960
  15. 阿里云AI解决方案-身份证图像识别
  16. 【C语言练习——打印正方形及其变形】
  17. ulpfec,flexFec,Pro-MPEG cop3协议对比
  18. 设置webhook_数据采集教程_智能模式_如何设置Webhook功能_后羿采集器
  19. C++ - 多态(2) | 虚表的打印、单继承与多继承的虚表
  20. c语言编写银行业务模拟程序,C语言数据结构实现银行模拟

热门文章

  1. FOLDER FORM 问题
  2. 走向.NET架构设计—第五章—业务层模式,原则,实践(后篇)
  3. VB.NET 对于类型的传递按值或者按引用
  4. java代码将excel文件中的内容列表转换成JS文件输出
  5. Spring Boot Actuator [监控与管理]
  6. Day 5-7 exec 和元类的创建.
  7. 安装CocoaPods常见命令
  8. ZOJ 1015 弦图判定
  9. .NET 垃圾回收与内存泄漏
  10. 8086汇编学习小记-1