【问题标题】:Swagger Codegen No Property for nullSwagger Codegen No Property for null
【发布时间】:2015-08-15 22:35:40
【问题描述】:

我正在尝试使用 swagger-codegen 编译服务器代码,但是我的文件遇到了一个无法生成的错误。

我在 Ubuntu 上运行。

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

git clone https://github.com/swagger-api/swagger-codegen.git 

Swagger generate 命令大部分是从 ./bin 复制过来的

#!/bin/sh

SCRIPT="$0"

while [ -h "$SCRIPT" ] ; do
  ls=`ls -ld "$SCRIPT"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '/.*' > /dev/null; then
      SCRIPT="$link"
  else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done

if [ ! -d "${APP_DIR}" ]; then
  APP_DIR=`dirname "$SCRIPT"`/..
  APP_DIR=`cd "${APP_DIR}"; pwd`
fi

executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"

if [ ! -f "$executable" ]
then
  mvn clean package
fi

# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/trustmile-consumer-small.json -l nodejs -o samples/server/trustmile/nodejs"

java $JAVA_OPTS -Dservice -jar $executable $ags

以下是精简形式的错误:

ERROR io.swagger.models.properties.PropertyBuilder - no property for null, null
java.lang.NullPointerException
at io.swagger.codegen.DefaultCodegen.fromParameter(DefaultCodegen.java:995)
at io.swagger.codegen.DefaultCodegen.fromOperation(DefaultCodegen.java:816)
at io.swagger.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:351)
at io.swagger.codegen.DefaultGenerator.processPaths(DefaultGenerator.java:324)
at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:153)
at io.swagger.codegen.cmd.Generate.run(Generate.java:124)
at io.swagger.codegen.SwaggerCodegen.main(SwaggerCodegen.java:35)

这里的规范:https://gist.githubusercontent.com/jorourke/79897a93e15bf4d20eab/raw/87e520e1d79d721b5471a5009546b58f2131e891/Swagger%2520API%2520Spec

当 Swagger 规范在 Swagger Editor 中工作时,我有点不知所措

非常感谢任何帮助。

【问题讨论】:

    标签: api swagger


    【解决方案1】:

    swagger-codegen 目前不支持内联模式。问题是跟踪here

    要解决此问题,您可以在“定义”部分使用适当的模型定义参数架构。

    更新 (2016/06/28):Swagger Codegen 现在支持内联模式。请拉取最新的 master 以生成 API 客户端、服务器存根或文档 (https://github.com/swagger-api/swagger-codegen#getting-started)

    【讨论】:

    • 您能否提供更多细节。链接的规范文件确实已经有一个定义部分。
    • 规范应该类似于this,用于将“模型”发布到服务器。您当前的方法使用propertiesparameters 中定义模型
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 2021-10-10
    • 2017-01-01
    • 2015-10-13
    相关资源
    最近更新 更多