diff --git a/README.md b/README.md
index 0135cd50397..2581682674b 100644
--- a/README.md
+++ b/README.md
@@ -929,6 +929,7 @@ Presentations/Videos/Tutorials/Books
- 2017/12/07 - [API-driven development with OpenAPI and Swagger, Part 2](https://www.itworld.com/article/3199190/apis/api-driven-development-with-openapi-and-swagger-part-2.html) by Matthew Tyson
- 2017/12/29 - [REST APIs代码生成指南](https://gumroad.com/l/swagger_codegen_beginner_zh)(eBook) by [William Cheng](https://github.com/wing328), [Xin Meng](https://github.com/xmeng1)
- 2017/12/21 - [Using Protocol Buffer to Generate SDK at Hootsuite](http://code.hootsuite.com/using-protocol-buffer-to-generate-sdk-at-hoosuite/?lipi=urn%3Ali%3Apage%3Ad_flagship3_messaging%3By4ATz3SDRXyvXJJ14LQysQ%3D%3D) by [Joy Zhang](https://www.linkedin.com/in/joy8zhang/)
+- 2018/01/11 - [Swagger 工具箱介绍及代码自动生成示例](https://github.com/qct/swagger-example) by [qct](https://github.com/qct)
# Swagger Codegen Core Team
diff --git a/bin/java-vertx-rx-petstore-server.sh b/bin/java-vertx-rx-petstore-server.sh
index f569df51cc6..92c7c355081 100755
--- a/bin/java-vertx-rx-petstore-server.sh
+++ b/bin/java-vertx-rx-petstore-server.sh
@@ -26,6 +26,6 @@ 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/petstore.yaml -l java-vertx -o samples/server/petstore/java-vertx/rx -DvertxSwaggerRouterVersion=1.2.0,rxInterface=true"
+ags="$@ generate -i modules/swagger-codegen/src/test/resources/2_0/petstore.yaml -l java-vertx --artifact-id swagger-java-vertx-rx-server -o samples/server/petstore/java-vertx/rx -DvertxSwaggerRouterVersion=1.2.0,rxInterface=true"
java $JAVA_OPTS -jar $executable $ags
diff --git a/modules/swagger-codegen/src/main/resources/JavaVertXServer/apiVerticle.mustache b/modules/swagger-codegen/src/main/resources/JavaVertXServer/apiVerticle.mustache
index 715e7aa11f3..74b976f66a7 100644
--- a/modules/swagger-codegen/src/main/resources/JavaVertXServer/apiVerticle.mustache
+++ b/modules/swagger-codegen/src/main/resources/JavaVertXServer/apiVerticle.mustache
@@ -19,8 +19,17 @@ public class {{classname}}Verticle extends AbstractVerticle {
{{#operations}}{{#operation}}{{#vendorExtensions}}final static String {{x-serviceid-varname}} = "{{x-serviceid}}";
{{/vendorExtensions}}{{/operation}}{{/operations}}
- //TODO : create Implementation
- {{classname}} service = new {{classname}}Impl();
+ final {{classname}} service;
+
+ public {{classname}}Verticle() {
+ try {
+ Class serviceImplClass = getClass().getClassLoader().loadClass("{{package}}.{{classname}}Impl");
+ service = ({{classname}})serviceImplClass.newInstance();
+ } catch (Exception e) {
+ logUnexpectedError("{{classname}}Verticle constructor", e);
+ throw new RuntimeException(e);
+ }
+ }
@Override
public void start() throws Exception {
diff --git a/modules/swagger-codegen/src/main/resources/r/model.mustache b/modules/swagger-codegen/src/main/resources/r/model.mustache
index 94ae74085e2..af5b5cc9ecc 100644
--- a/modules/swagger-codegen/src/main/resources/r/model.mustache
+++ b/modules/swagger-codegen/src/main/resources/r/model.mustache
@@ -127,7 +127,7 @@
self$`{{baseName}}` <- lapply({{classname}}Object$`{{baseName}}`, function(x) {{datatype}}$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
{{/isListContainer}}
{{^isListContainer}}
- {{datatype}}Object -> {{datatype}}$new()
+ {{datatype}}Object <- {{datatype}}$new()
self$`{{baseName}}` <- {{datatype}}Object$fromJSON(jsonlite::toJSON({{classname}}Object${{baseName}}, auto_unbox = TRUE))
{{/isListContainer}}
{{/isPrimitiveType}}
diff --git a/pom.xml.circleci b/pom.xml.circleci
index f54ae23d6d2..fe24e2bfaea 100644
--- a/pom.xml.circleci
+++ b/pom.xml.circleci
@@ -843,8 +843,10 @@
samples/client/petstore/go
+ samples/server/petstore/java-vertx/rx
+ samples/server/petstore/java-vertx/async
samples/server/petstore/java-inflector
- samples/server/petstore/java-pkmst
+ samples/server/petstore/java-pkmst
samples/server/petstore/java-play-framework
samples/server/petstore/undertow
samples/server/petstore/jaxrs/jersey1
diff --git a/samples/server/petstore/java-vertx/async/.swagger-codegen/VERSION b/samples/server/petstore/java-vertx/async/.swagger-codegen/VERSION
index f9f7450d135..50794f17f1a 100644
--- a/samples/server/petstore/java-vertx/async/.swagger-codegen/VERSION
+++ b/samples/server/petstore/java-vertx/async/.swagger-codegen/VERSION
@@ -1 +1 @@
-2.3.0-SNAPSHOT
\ No newline at end of file
+2.3.1-SNAPSHOT
\ No newline at end of file
diff --git a/samples/server/petstore/java-vertx/async/pom.xml b/samples/server/petstore/java-vertx/async/pom.xml
index 8e1a96f88ef..ba6f38e39d9 100644
--- a/samples/server/petstore/java-vertx/async/pom.xml
+++ b/samples/server/petstore/java-vertx/async/pom.xml
@@ -15,7 +15,7 @@
4.12
3.4.1
3.3
- 1.2.0
+ 1.4.0
2.3
2.7.4
@@ -28,25 +28,24 @@
test
-
- io.vertx
- vertx-unit
- ${vertx.version}
- test
-
+
+ io.vertx
+ vertx-unit
+ ${vertx.version}
+ test
+
- com.github.phiz71
- vertx-swagger-router
- ${vertx-swagger-router.version}
-
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
- ${jackson-datatype-jsr310.version}
-
+ com.github.phiz71
+ vertx-swagger-router
+ ${vertx-swagger-router.version}
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ ${jackson-datatype-jsr310.version}
+
@@ -88,4 +87,4 @@
-
\ No newline at end of file
+
diff --git a/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java b/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java
index fb3c20944f1..f97369e6ad3 100644
--- a/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java
+++ b/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java
@@ -28,8 +28,17 @@ public class PetApiVerticle extends AbstractVerticle {
final static String UPDATEPETWITHFORM_SERVICE_ID = "updatePetWithForm";
final static String UPLOADFILE_SERVICE_ID = "uploadFile";
- //TODO : create Implementation
- PetApi service = new PetApiImpl();
+ final PetApi service;
+
+ public PetApiVerticle() {
+ try {
+ Class serviceImplClass = getClass().getClassLoader().loadClass("io.swagger.server.api.verticle.PetApiImpl");
+ service = (PetApi)serviceImplClass.newInstance();
+ } catch (Exception e) {
+ logUnexpectedError("PetApiVerticle constructor", e);
+ throw new RuntimeException(e);
+ }
+ }
@Override
public void start() throws Exception {
diff --git a/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java b/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java
index 9299a08e013..cc11fa49a2c 100644
--- a/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java
+++ b/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java
@@ -22,8 +22,17 @@ public class StoreApiVerticle extends AbstractVerticle {
final static String GETORDERBYID_SERVICE_ID = "getOrderById";
final static String PLACEORDER_SERVICE_ID = "placeOrder";
- //TODO : create Implementation
- StoreApi service = new StoreApiImpl();
+ final StoreApi service;
+
+ public StoreApiVerticle() {
+ try {
+ Class serviceImplClass = getClass().getClassLoader().loadClass("io.swagger.server.api.verticle.StoreApiImpl");
+ service = (StoreApi)serviceImplClass.newInstance();
+ } catch (Exception e) {
+ logUnexpectedError("StoreApiVerticle constructor", e);
+ throw new RuntimeException(e);
+ }
+ }
@Override
public void start() throws Exception {
diff --git a/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java b/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java
index 0ad1f5eb980..70070fd59b4 100644
--- a/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java
+++ b/samples/server/petstore/java-vertx/async/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java
@@ -26,8 +26,17 @@ public class UserApiVerticle extends AbstractVerticle {
final static String LOGOUTUSER_SERVICE_ID = "logoutUser";
final static String UPDATEUSER_SERVICE_ID = "updateUser";
- //TODO : create Implementation
- UserApi service = new UserApiImpl();
+ final UserApi service;
+
+ public UserApiVerticle() {
+ try {
+ Class serviceImplClass = getClass().getClassLoader().loadClass("io.swagger.server.api.verticle.UserApiImpl");
+ service = (UserApi)serviceImplClass.newInstance();
+ } catch (Exception e) {
+ logUnexpectedError("UserApiVerticle constructor", e);
+ throw new RuntimeException(e);
+ }
+ }
@Override
public void start() throws Exception {
diff --git a/samples/server/petstore/java-vertx/rx/.swagger-codegen/VERSION b/samples/server/petstore/java-vertx/rx/.swagger-codegen/VERSION
index f9f7450d135..50794f17f1a 100644
--- a/samples/server/petstore/java-vertx/rx/.swagger-codegen/VERSION
+++ b/samples/server/petstore/java-vertx/rx/.swagger-codegen/VERSION
@@ -1 +1 @@
-2.3.0-SNAPSHOT
\ No newline at end of file
+2.3.1-SNAPSHOT
\ No newline at end of file
diff --git a/samples/server/petstore/java-vertx/rx/pom.xml b/samples/server/petstore/java-vertx/rx/pom.xml
index 8e1a96f88ef..ac1842d1aaa 100644
--- a/samples/server/petstore/java-vertx/rx/pom.xml
+++ b/samples/server/petstore/java-vertx/rx/pom.xml
@@ -3,7 +3,7 @@
4.0.0
io.swagger
- swagger-java-vertx-server
+ swagger-java-vertx-server-rx
1.0.0-SNAPSHOT
jar
@@ -15,7 +15,7 @@
4.12
3.4.1
3.3
- 1.2.0
+ 1.4.0
2.3
2.7.4
@@ -28,25 +28,24 @@
test
-
- io.vertx
- vertx-unit
- ${vertx.version}
- test
-
+
+ io.vertx
+ vertx-unit
+ ${vertx.version}
+ test
+
- com.github.phiz71
- vertx-swagger-router
- ${vertx-swagger-router.version}
-
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
- ${jackson-datatype-jsr310.version}
-
+ com.github.phiz71
+ vertx-swagger-router
+ ${vertx-swagger-router.version}
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ ${jackson-datatype-jsr310.version}
+
@@ -88,4 +87,4 @@
-
\ No newline at end of file
+
diff --git a/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java b/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java
index 6eada5ae461..1b7e08c336e 100644
--- a/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java
+++ b/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/PetApiVerticle.java
@@ -28,8 +28,17 @@ public class PetApiVerticle extends AbstractVerticle {
final static String UPDATEPETWITHFORM_SERVICE_ID = "updatePetWithForm";
final static String UPLOADFILE_SERVICE_ID = "uploadFile";
- //TODO : create Implementation
- PetApi service = new PetApiImpl();
+ final PetApi service;
+
+ public PetApiVerticle() {
+ try {
+ Class serviceImplClass = getClass().getClassLoader().loadClass("io.swagger.server.api.verticle.PetApiImpl");
+ service = (PetApi)serviceImplClass.newInstance();
+ } catch (Exception e) {
+ logUnexpectedError("PetApiVerticle constructor", e);
+ throw new RuntimeException(e);
+ }
+ }
@Override
public void start() throws Exception {
diff --git a/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java b/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java
index b648fef0593..67353e8ac87 100644
--- a/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java
+++ b/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/StoreApiVerticle.java
@@ -22,8 +22,17 @@ public class StoreApiVerticle extends AbstractVerticle {
final static String GETORDERBYID_SERVICE_ID = "getOrderById";
final static String PLACEORDER_SERVICE_ID = "placeOrder";
- //TODO : create Implementation
- StoreApi service = new StoreApiImpl();
+ final StoreApi service;
+
+ public StoreApiVerticle() {
+ try {
+ Class serviceImplClass = getClass().getClassLoader().loadClass("io.swagger.server.api.verticle.StoreApiImpl");
+ service = (StoreApi)serviceImplClass.newInstance();
+ } catch (Exception e) {
+ logUnexpectedError("StoreApiVerticle constructor", e);
+ throw new RuntimeException(e);
+ }
+ }
@Override
public void start() throws Exception {
diff --git a/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java b/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java
index 0bdd10a153b..a6d8f69da06 100644
--- a/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java
+++ b/samples/server/petstore/java-vertx/rx/src/main/java/io/swagger/server/api/verticle/UserApiVerticle.java
@@ -26,8 +26,17 @@ public class UserApiVerticle extends AbstractVerticle {
final static String LOGOUTUSER_SERVICE_ID = "logoutUser";
final static String UPDATEUSER_SERVICE_ID = "updateUser";
- //TODO : create Implementation
- UserApi service = new UserApiImpl();
+ final UserApi service;
+
+ public UserApiVerticle() {
+ try {
+ Class serviceImplClass = getClass().getClassLoader().loadClass("io.swagger.server.api.verticle.UserApiImpl");
+ service = (UserApi)serviceImplClass.newInstance();
+ } catch (Exception e) {
+ logUnexpectedError("UserApiVerticle constructor", e);
+ throw new RuntimeException(e);
+ }
+ }
@Override
public void start() throws Exception {