命名
如果需要修改选项长名称,可以完成
用OptionNameModifier
界面,这是一个简单的Function<String, String>
.在此界面中原始选项
name 进来,修改后的名字出来。
修饰符可以定义OptionSpec
在CommandRegistration
,
全局默认为 Bean 或通过 Configuration Properties。
在 中手动定义的修饰符OptionSpec
Takes 优先
超过 1 定义 global 。未定义全局修饰符
默认。
您可以在CommandRegistration
.
CommandRegistration.builder()
.withOption()
.longNames("arg1")
.nameModifier(name -> "x" + name)
.and()
.build();
添加一个单例 bean 作为类型OptionNameModifier
然后就变成了
全局默认值。
@Bean
OptionNameModifier sampleOptionNameModifier() {
return name -> "x" + name;
}
也可以只使用spring.shell.option.naming.case-type
自动配置
一个基于定义的类型。
noop
就是什么都不做,camel
,snake
,kebab
,pascal
激活 的内置修饰符camelCase
,snake_case
,kebab-case
或PascalCase
分别。
如果创建CommandRegistration beans 直接、全局
default via configuration 仅在使用
预配置Builder 实例。查看更多 [using-shell-commands-programmaticmodel]。 |
spring:
shell:
option:
naming:
case-type: noop
# case-type: camel
# case-type: snake
# case-type: kebab
# case-type: pascal
例如,在 annotated 方法中定义的选项,如下所示。
@ShellMethod(key = "option-naming-sample")
public void optionNamingSample(
@ShellOption("from_snake") String snake,
@ShellOption("fromCamel") String camel,
@ShellOption("from-kebab") String kebab,
@ShellOption("FromPascal") String pascal
) {}
默认help
因为该命令显示名称
直接来自@ShellOption
.
OPTIONS
--from_snake String
[Mandatory]
--fromCamel String
[Mandatory]
--from-kebab String
[Mandatory]
--FromPascal String
[Mandatory]
定义spring.shell.option.naming.case-type=kebab
和默认
修饰符,选项名称如下所示。
OPTIONS
--from-snake String
[Mandatory]
--from-camel String
[Mandatory]
--from-kebab String
[Mandatory]
--from-pascal String
[Mandatory]