为国读书 2015-09-18 06:48 采纳率: 33.3%
浏览 10228
已采纳

springmvc Rest风格参数可能为空时怎么解决

比如有如下的Action方法:

 @RequestMapping("/test/{p1}/{p2}")
    public String testRest(@RequestParam String p1, @RequestParam String p2){
        System.out.println("p1:"+p1);
        System.out.println("p1:"+p1);
        return "/jsp/test";
    }

那么当访问的URL为:

 http://localhost:8080/test/param1/param2

时会正常打印出

1:param1
p2:param2

但是当访问地址为

http://localhost:8080/test/

时就直接报错了,怎样才能实现访问这个url时自动给p1和p2一个默认值呢?
谢谢!

  • 写回答

2条回答 默认 最新

  • tony4geek 2015-09-18 07:10
    关注

    @RequestParam(value="somvalue",required=false) 这个看看呢
    或者就是写2遍吧,
    @RequestMapping(value="/json/{type}", method=RequestMethod.GET)
    public @ResponseBody TestBean typedTestBean(HttpServletRequest req, @PathVariable String type, @RequestParam("track") String track) {
    return getTestBean(type);
    }

    @RequestMapping(value="/json", method=RequestMethod.GET)
    public @ResponseBody TestBean testBean(HttpServletRequest req, @RequestParam("track") String track) {
    return getTestBean();
    }

    重写源码

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错