我在使用swagger-codegen
和 Maven 构建 swagger Java 客户端时遇到了麻烦。它基于我的CI使用Java 1.8和Maven 3.6构建。我看到这个:
... package javax.validation.constraints does not exist
... package javax.validation does not exist
我的配置的相关部分是:
{
"library": "resttemplate",
"configOptions": {
"dateLibrary": "java8"
},
"useBeanValidation": true
}
我用来生成 api 的命令是:
java -jar swagger-codegen-cli.jar generate -i swagger.json -l java -o ./generated/ -c swagger-java-config.json
我希望此错误在 Java 11 中发生。另外,我在 Java 客户端的官方resttemplate
库pom.xml
模板中没有看到所需的导入。
问题来自配置中的"useBeanValidation": true
。此选项仅适用于生成的服务器,不适用于客户端。java -jar swagger-codegen.jar config-help -L java
将显示此选项,因为它不会歧视所选library
(在您的情况下resttemplate
(。特定于resttemplate
的模板不会更改java
语言模板输出的代码。