强制执行两个选项之一
Make mandatory one of two options
我有这样的命令
@CliCommand("show user")
public String showUser(
@CliOption(key = {"email"}) String email,
@CliOption(key = {"id"}) long id) {
//return user by id or by email
}
我想强制选择两个选项之一。
show user --id 5 //valid
show user --email user@email.com //valid
show user //not valid
show user id 5 --email user@email.com //not valid
我怎样才能实现这种行为?
您需要在命令实现本身内部处理验证(如果您的两个选项或 none 选项都已设置,则抛出一些异常)。
id
选项参数应设置为类型 Long
而不是 long
然后。
我有这样的命令
@CliCommand("show user")
public String showUser(
@CliOption(key = {"email"}) String email,
@CliOption(key = {"id"}) long id) {
//return user by id or by email
}
我想强制选择两个选项之一。
show user --id 5 //valid
show user --email user@email.com //valid
show user //not valid
show user id 5 --email user@email.com //not valid
我怎样才能实现这种行为?
您需要在命令实现本身内部处理验证(如果您的两个选项或 none 选项都已设置,则抛出一些异常)。
id
选项参数应设置为类型 Long
而不是 long
然后。