问题描述:
因为ids是子表中的数据,用户只处理了主表,子表没有处理,ids就为空了,这时,访问后端就会因为找不到资源路径,报405错误。而其他情况下,用户是可以正常访问的。
即
使用restful风格传递动态参数,因为参数可以为空,所以,可能后面的子路径就没有了。此时,就不是一个url了。
比如:
@PostMapping("/add/{ids}")
public Result add(@RequestBody CheckGroup checkGroup, @PathVariable(value="ids") List<Integer> ids){...}
解决方案:
资源路径问题,就可以通过requestMapping解决。
1.@RequestMapping是可以处理多个url的。
2.同时需要将@PathVariable里的required改为false。
于是将上面的@RequestMapping改成下面这样即可:
@PostMapping(value={"/add/{ids}","/add"})
public Result add(@RequestBody CheckGroup checkGroup, @PathVariable(value="ids",required=false) List<Integer> ids){...}