2015-08-15 2 views
2

Я пытаюсь скомпилировать код сервера с помощью swagger-codegen, однако я получаю сообщение об ошибке с моим файлом, который не будет генерировать.Swagger Codegen Нет Свойство для null

Я работаю на Ubuntu.

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

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

Кураж генерировать команду копируется в основном из ./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="[email protected] 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

I я несколько в недоумении, поскольку спецификация swagger работает в редакторе Swagger

Любая помощь очень ценится.

ответ

1

swagger-codegen не поддерживает встроенную схему на данный момент. Проблема заключается в следе here.

Чтобы устранить проблему, вы можете определить схему параметров с соответствующей моделью в разделе «определения».

ОБНОВЛЕНИЕ (2016/06/28): Swagger Codegen теперь поддерживает встроенную схему. Пожалуйста, потяните последнего мастера, чтобы создавать клиенты API, заглушки серверов или документацию (https://github.com/swagger-api/swagger-codegen#getting-started)

+0

Можете привести немного более подробно. Связанный со спецификацией файл уже содержит раздел определений. – silverdagger

+1

Спектр должен выглядеть как [this] (https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.json#L45) для публикации «модели» на сервере. Ваш текущий подход использует 'свойства' для определения модели внутри' параметров' –

Смежные вопросы