你可以做两件事。
查看TypeMapper
or的现有实现TypeAdapter
,例如OptionalIntAdapter(使OptionalInt
充当Integer
),并在此基础上创建一个新实现。或查看此答案以获取自定义标量。
您可以使用generator.withTypeMappers
或连接它generator.withTypeAdapters
。
使用 Spring Starter,您可以添加TypeMapper
如下内容:
@Bean
public ExtensionProvider<GeneratorConfiguration, TypeMapper> mappers() {
//After IdAdapter is generally a safe place to insert custom mappers
return (config, mappers) -> mappers.insertAfter(IdAdapter.class, new YouCustomMapper());
}
TypeAdapter
不幸的是,您不能直接接线。您必须将它连接为TypeMapper
,InputConverter
同时OutputConverter
,这很烦人。所以相反,添加一个自定义模块会更容易TypeAdapter
:
@Bean
public ExtensionProvider<GeneratorConfiguration, Module> modules() {
return (config, modules) -> modules.append(context ->
context.getSchemaGenerator().withTypeAdapters(new YourCustomAdapter()));
}
您当然可以(并且应该)开设一个合适的Module
班级,而不是像我一样开设一个匿名班级。