Is it possible to have empty RequestParam values use the defaultValue?

后端 未结 5 1888
北海茫月
北海茫月 2020-11-30 20:15

if I have a a request mapping similar to the following:

@RequestMapping(value = \"/test\", method = RequestMethod.POST)
@ResponseBody
public void test(@Reque         


        
5条回答
  •  心在旅途
    2020-11-30 21:08

    You could change the @RequestParam type to an Integer and make it not required. This would allow your request to succeed, but it would then be null. You could explicitly set it to your default value in the controller method:

    @RequestMapping(value = "/test", method = RequestMethod.POST)
    @ResponseBody
    public void test(@RequestParam(value = "i", required=false) Integer i) {
        if(i == null) {
            i = 10;
        }
        // ...
    }
    

    I have removed the defaultValue from the example above, but you may want to include it if you expect to receive requests where it isn't set at all:

    http://example.com/test
    

提交回复
热议问题