RestFul 动态参数 @PathVariable

342 阅读1分钟

同一个controller接口 URL动态参数

controller代码片段:

@GetMapping(value = {"/demo/{id}"})
public String demo(@PathVariable(value = "id") Integer id) {

    return "demoid=" + id;
}

效果截图:

image.png


两个参数Controller代码片段:

@GetMapping(value = {"/demo/{id}/{name}"})
public String demo(@PathVariable(value = "id") Integer id,
                   @PathVariable(value = "name") String name) {

    return "demoid=" + id + ",name=" + name;
}

效果截图:

image.png


一个参数对应一个URL

@PathVariable的required默认为true;

实现动态效果需要把@PathVariable的required设置为false;

@GetMapping的映射路径的value的个数与@PathVariable的数量保持一致;

例如:

controller代码片段:

@GetMapping(value = {"/demo", "/demo/{id}", "/demo/{id}/{name}"})
public String demo(@PathVariable(value = "id", required = false) Integer id,
                   @PathVariable(value = "name", required = false) String name) {

    return "demoid=" + id + ",name=" + name;
}

效果图:

image.png

image.png

image.png