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

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

报告相同问题?