@RequestMapping(value = {"/abcd", "/employees/{value}/{id}"})
public String getEmployees(
@PathVariable(value = "value") String val,
@PathVariable(value = "id") String id,
@RequestParam(value = "param", required = false) String value) {
// ********
}
对于一个 url,我传递路径变量,而对于一个 url,我不传递路径变量。但我希望两个 url 都能使用相同的 API。我怎样才能实现它?
现在,您可以通过对 Java 8 的支持来拥有可选的路径变量Optional https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html。至少需要 Spring 版本 4.x。
@RequestMapping({"/abcd", "/employees/{value}/{id}"})
public String getEmployees(
@PathVariable("value") Optional<String> val,
@PathVariable("id") Optional<String> id,
@RequestParam("param") Optional<String> value
) {
// ********
}
注意:这不适用于可选原语(OptionalInt
, etc.).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)