首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在从swagger生成java代码时将"double“字段视为"BigDecimal”?

在从 Swagger(OpenAPI)生成 Java 代码时,如果你希望将 double 类型的字段映射为 BigDecimal 类型,可以通过配置 Swagger Codegen 或 OpenAPI Generator 来实现。这两个工具都支持通过配置文件或命令行参数来自定义生成的代码。

使用 Swagger Codegen

1. 安装 Swagger Codegen

如果你还没有安装 Swagger Codegen,可以使用以下命令安装:

代码语言:javascript
复制
brew install swagger-codegen

或者下载 JAR 文件:

代码语言:javascript
复制
wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.21/swagger-codegen-cli-2.4.21.jar -O swagger-codegen-cli.jar

2. 创建配置文件

创建一个配置文件 config.json,内容如下:

代码语言:javascript
复制
{
  "typeMappings": {
    "number": "BigDecimal"
  },
  "importMappings": {
    "BigDecimal": "java.math.BigDecimal"
  }
}

3. 生成代码

使用以下命令生成代码:

代码语言:javascript
复制
java -jar swagger-codegen-cli.jar generate \
  -i path/to/your/swagger.yaml \
  -l java \
  -c config.json \
  -o output/directory

使用 OpenAPI Generator

1. 安装 OpenAPI Generator

如果你还没有安装 OpenAPI Generator,可以使用以下命令安装:

代码语言:javascript
复制
brew install openapi-generator

或者下载 JAR 文件:

代码语言:javascript
复制
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.3.0/openapi-generator-cli-5.3.0.jar -O openapi-generator-cli.jar

2. 创建配置文件

创建一个配置文件 config.json,内容如下:

代码语言:javascript
复制
{
  "typeMappings": {
    "number": "BigDecimal",
    "double": "BigDecimal"
  },
  "importMappings": {
    "BigDecimal": "java.math.BigDecimal"
  }
}

3. 生成代码

使用以下命令生成代码:

代码语言:javascript
复制
java -jar openapi-generator-cli.jar generate \
  -i path/to/your/openapi.yaml \
  -g java \
  -c config.json \
  -o output/directory

解释

  1. 配置文件
    • typeMappings:将 OpenAPI 类型 numberdouble 映射为 Java 类型 BigDecimal
    • importMappings:确保生成的代码中正确导入 java.math.BigDecimal
  2. 生成代码
    • -i:指定输入的 Swagger 或 OpenAPI 文件路径。
    • -l-g:指定生成代码的语言(java)。
    • -c:指定配置文件路径。
    • -o:指定输出目录。

通过这种方式,你可以在从 Swagger 或 OpenAPI 生成 Java 代码时,将 double 类型的字段映射为 BigDecimal 类型。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

代码开发技巧之快速逆向工程

我们都知道,在开发的时候,是百分百都能够使用到我们的实体类,各种工具类,而有些实体类,因为表中字段的增多,一个实体类,有可能有二三十个字段,而如果每一个字段都让我们自己去编辑,那你有一多半的时间,都会浪费在处理这个字段上面,所以,今天阿粉就来交给你,这个快速而又简单的根据表结构,生成实体类的小工具,逆向工我们都知道,在开发的时候,是百分百都能够使用到我们的实体类,各种工具类,而有些实体类,因为表中字段的增多,一个实体类,有可能有二三十个字段,而如果每一个字段都让我们自己去编辑,那你有一多半的时间,都会浪费在处理这个字段上面,所以,今天阿粉就来交给你,这个快速而又简单的根据表结构,生成实体类的小工具,逆向工程。

03

被JDK坑的没商量?来试试这些方法吧

jdk作为我们每天必备的调用类库,里面大量提供了基础类供我们使用.可以说离开jdk,我们的java代码寸步难行,jdk带给我们的便利可谓是不胜枚举,但同时这些方法在使用起来也存在一些坑,如果不注意就很容易掉入到陷阱里面,导致程序抛出错误。jdk中的很多方法都不会做非null判断,可能设计jdk的作者默认开发者已经处理好null值了.不过这个设计可能会造成很严重的后果,实在是暗藏杀机。比如今天早上我们查了一笔订单没有退款,查了一早上最终才发现是同事写的代码的BigDecimal的subtract方法的值没有做非null判断处理导致程序抛出了空指针异常,看似简单的异常却直接无法让很多订单退款,是在是小问题造成大事故。而要修补退款这个问题,要耗费很多时间去修补,实在是让人觉得麻烦。出错的成本太高,本期我们就来看看jdk中那些坑你没商量的方法,这些方法很常见,相信你一定遇到过。

02

java基础知识讲解(一)数据类型和运算符

Java是一种强类型语言,每个变量都必须声明其数据类型。Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。 Java中定义了**3类8种基本数据类型** 数值型- byte、 short、int、 long、float、 double 字符型- char 布尔型-boolean 整型用于表示没有小数部分的数值,它允许是负数。整型的范围与运行Java代码的机器无关,这正是Java程序具有很强移植能力的原因之一。与此相反,C和C++程序需要针对不同的处理器选择最有效的整型。 Java 语言整型常量的四种表示形式 十进制整数,如:99, -500, 0 八进制整数,要求以 0 开头,如:015 十六进制数,要求 0x 或 0X 开头,如:0x15 二进制数,要求0b或0B开头,如:0b01110011

01
领券