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

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条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器