swagger OpenAPI为与Angular中的访问修饰符同名的属性添加下划线

6za6bjd0  于 2023-05-17  发布在  Angular
关注(0)|答案(1)|浏览(152)

在我的模型定义中,我有一个名为“public”的属性作为对象的一部分。当运行swaggercode-gen时,它会为我的对象生成代码,但它会在“public”属性上添加一个下划线。所以我的对象看起来如下:

export interface ObjectInfo { 

    _public?: boolean;

}

我希望该属性仅称为“public”,如下所示:

export interface ObjectInfo { 
    
        public?: boolean;
    
}

Angular没有问题,你可以做:

public public: boolean;

所以不知道为什么OpenAPI觉得有必要添加下划线。有办法避免这种情况吗?

4xrmg8kj

4xrmg8kj1#

这是一个很好的例子,但它可能会帮助像我这样的人:
可以在生成时定义保留字的Map。配置名为reservedWordsMappingsOfficial readme
也来自官方自述:
指定保留名称应如何转义为。否则,将使用默认值_<name>。例如id=identifier。也可以多次出现此选项
在我使用maven插件的情况下,我的配置看起来像这样(必须将inMap到in,因为我的后端不知道如何使用_in处理jpa标准):

.....
<configuration>
    <inputSpec>${project.basedir}/src/main/resources/openapi/api-docs.yaml</inputSpec>
    <generatorName>typescript-axios</generatorName
    <reservedWordsMappings>in=in</reservedWordsMappings>
    ...
</configuration>
.....

相关问题