diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java
index c46996afdd8a..d996d7f83d49 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJAXRSSpecServerCodegen.java
@@ -169,6 +169,10 @@ public void processOpts() {
supportingFiles.clear(); // Don't need extra files provided by AbstractJAX-RS & Java Codegen
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")
.doNotOverwrite());
+ supportingFiles.add(new SupportingFile("RestResourceRoot.mustache",
+ (sourceFolder + '/' + invokerPackage).replace(".", "/"), "RestResourceRoot.java")
+ .doNotOverwrite());
+
if (generatePom) {
supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml")
.doNotOverwrite());
diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/RestApplication.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/RestApplication.mustache
index 3dd570e9c35b..56618f1541a0 100644
--- a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/RestApplication.mustache
+++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/RestApplication.mustache
@@ -3,7 +3,7 @@ package {{invokerPackage}};
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
-@ApplicationPath("{{{contextPath}}}")
+@ApplicationPath(RestResourceRoot.APPLICATION_PATH)
public class RestApplication extends Application {
}
diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/RestResourceRoot.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/RestResourceRoot.mustache
new file mode 100644
index 000000000000..669fc2b4f9c5
--- /dev/null
+++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/spec/RestResourceRoot.mustache
@@ -0,0 +1,5 @@
+package {{invokerPackage}};
+
+public class RestResourceRoot {
+ public static final String APPLICATION_PATH = "{{{contextPath}}}";
+}
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/FILES b/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/FILES
index 912cd6039b70..a5460bdf420e 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/FILES
+++ b/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/FILES
@@ -4,6 +4,7 @@ src/gen/java/org/openapitools/api/AnotherFakeApi.java
src/gen/java/org/openapitools/api/FakeApi.java
src/gen/java/org/openapitools/api/FakeClassnameTestApi.java
src/gen/java/org/openapitools/api/PetApi.java
+src/gen/java/org/openapitools/api/RestResourceRoot.java
src/gen/java/org/openapitools/api/StoreApi.java
src/gen/java/org/openapitools/api/UserApi.java
src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/VERSION b/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/VERSION
index 5f68295fc196..66672d4e9d31 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/VERSION
+++ b/samples/server/petstore/jaxrs-spec-interface-response/.openapi-generator/VERSION
@@ -1 +1 @@
-6.0.0-SNAPSHOT
\ No newline at end of file
+6.1.0-SNAPSHOT
\ No newline at end of file
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/pom.xml b/samples/server/petstore/jaxrs-spec-interface-response/pom.xml
index 9bac70f90955..861b090b321b 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/pom.xml
+++ b/samples/server/petstore/jaxrs-spec-interface-response/pom.xml
@@ -93,6 +93,7 @@
1.8
${java.version}
${java.version}
+ UTF-8
2.9.9
4.13.2
2.10.13
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/AnotherFakeApi.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/AnotherFakeApi.java
index 0d7fa5cb4d0d..6107529c094e 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/AnotherFakeApi.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/AnotherFakeApi.java
@@ -15,7 +15,8 @@
@Path("/another-fake/dummy")
@Api(description = "the another-fake API")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public interface AnotherFakeApi {
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public interface AnotherFakeApi {
@PATCH
@Consumes({ "application/json" })
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeApi.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeApi.java
index 6647d22250f5..ca6bdded416e 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeApi.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeApi.java
@@ -25,7 +25,8 @@
@Path("/fake")
@Api(description = "the fake API")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public interface FakeApi {
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public interface FakeApi {
@POST
@Path("/create_xml_item")
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeClassnameTags123Api.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeClassnameTags123Api.java
deleted file mode 100644
index f68a2aede99f..000000000000
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeClassnameTags123Api.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.openapitools.api;
-
-import org.openapitools.model.Client;
-
-import javax.ws.rs.*;
-import javax.ws.rs.core.Response;
-
-import io.swagger.annotations.*;
-
-import java.io.InputStream;
-import java.util.Map;
-import java.util.List;
-import javax.validation.constraints.*;
-import javax.validation.Valid;
-
-@Path("/FakeClassnameTags123")
-@Api(description = "the FakeClassnameTags123 API")
-public interface FakeClassnameTags123Api {
-
- @PATCH
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- @ApiOperation(value = "To test class name in snake case", notes = "To test class name in snake case", authorizations = {
- @Authorization(value = "api_key_query")
- }, tags={ "fake_classname_tags 123#$%^" })
- @ApiResponses(value = {
- @ApiResponse(code = 200, message = "successful operation", response = Client.class) })
- Response testClassname(@Valid Client body);
-}
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeClassnameTestApi.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeClassnameTestApi.java
index 5d1c770b70a8..e14b0e6205ed 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeClassnameTestApi.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/FakeClassnameTestApi.java
@@ -15,7 +15,8 @@
@Path("/fake_classname_test")
@Api(description = "the fake_classname_test API")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public interface FakeClassnameTestApi {
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public interface FakeClassnameTestApi {
@PATCH
@Consumes({ "application/json" })
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/PetApi.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/PetApi.java
index 688f409117a3..5b8958907578 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/PetApi.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/PetApi.java
@@ -18,7 +18,8 @@
@Path("/pet")
@Api(description = "the pet API")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public interface PetApi {
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public interface PetApi {
@POST
@Consumes({ "application/json", "application/xml" })
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/RestResourceRoot.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/RestResourceRoot.java
new file mode 100644
index 000000000000..96ba6c8d8e40
--- /dev/null
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/RestResourceRoot.java
@@ -0,0 +1,5 @@
+package org.openapitools.api;
+
+public class RestResourceRoot {
+ public static final String APPLICATION_PATH = "/v2";
+}
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/StoreApi.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/StoreApi.java
index 06a7a2967ed0..98797af84d08 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/StoreApi.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/StoreApi.java
@@ -16,7 +16,8 @@
@Path("/store")
@Api(description = "the store API")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public interface StoreApi {
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public interface StoreApi {
@DELETE
@Path("/order/{order_id}")
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/UserApi.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/UserApi.java
index ed2fcd7dc4e8..888b96e8cd02 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/UserApi.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/api/UserApi.java
@@ -17,7 +17,8 @@
@Path("/user")
@Api(description = "the user API")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public interface UserApi {
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public interface UserApi {
@POST
@ApiOperation(value = "Create user", notes = "This can only be done by the logged in user.", tags={ "user" })
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java
index 50c6702c65f7..749ca0e02ccf 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesAnyType.java
@@ -18,8 +18,8 @@
@JsonTypeName("AdditionalPropertiesAnyType")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public class AdditionalPropertiesAnyType extends HashMap implements Serializable {
-
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public class AdditionalPropertiesAnyType extends HashMap implements Serializable {
private @Valid String name;
/**
@@ -30,8 +30,6 @@ public AdditionalPropertiesAnyType name(String name) {
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("name")
public String getName() {
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java
index 3b400ed375e7..3563c9cdc65f 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesArray.java
@@ -19,8 +19,8 @@
@JsonTypeName("AdditionalPropertiesArray")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public class AdditionalPropertiesArray extends HashMap implements Serializable {
-
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public class AdditionalPropertiesArray extends HashMap implements Serializable {
private @Valid String name;
/**
@@ -31,8 +31,6 @@ public AdditionalPropertiesArray name(String name) {
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("name")
public String getName() {
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java
index e1dbfa0821ab..0afb07939f52 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesBoolean.java
@@ -18,8 +18,8 @@
@JsonTypeName("AdditionalPropertiesBoolean")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public class AdditionalPropertiesBoolean extends HashMap implements Serializable {
-
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public class AdditionalPropertiesBoolean extends HashMap implements Serializable {
private @Valid String name;
/**
@@ -30,8 +30,6 @@ public AdditionalPropertiesBoolean name(String name) {
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("name")
public String getName() {
diff --git a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java
index d8256b29ea3d..31b4b91dfb26 100644
--- a/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java
+++ b/samples/server/petstore/jaxrs-spec-interface-response/src/gen/java/org/openapitools/model/AdditionalPropertiesClass.java
@@ -20,16 +20,16 @@
@JsonTypeName("AdditionalPropertiesClass")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")public class AdditionalPropertiesClass implements Serializable {
-
- private @Valid Map mapString = new HashMap<>();
- private @Valid Map mapNumber = new HashMap<>();
- private @Valid Map mapInteger = new HashMap<>();
- private @Valid Map mapBoolean = new HashMap<>();
- private @Valid Map> mapArrayInteger = new HashMap<>();
- private @Valid Map> mapArrayAnytype = new HashMap<>();
- private @Valid Map> mapMapString = new HashMap<>();
- private @Valid Map> mapMapAnytype = new HashMap<>();
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen")
+public class AdditionalPropertiesClass implements Serializable {
+ private @Valid Map mapString = null;
+ private @Valid Map mapNumber = null;
+ private @Valid Map mapInteger = null;
+ private @Valid Map mapBoolean = null;
+ private @Valid Map> mapArrayInteger = null;
+ private @Valid Map> mapArrayAnytype = null;
+ private @Valid Map> mapMapString = null;
+ private @Valid Map> mapMapAnytype = null;
private @Valid Object anytype1;
private @Valid Object anytype2;
private @Valid Object anytype3;
@@ -42,8 +42,6 @@ public AdditionalPropertiesClass mapString(Map mapString) {
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("map_string")
public Map getMapString() {
@@ -71,7 +69,7 @@ public AdditionalPropertiesClass removeMapStringItem(String mapStringItem) {
return this;
}
-/**
+ /**
**/
public AdditionalPropertiesClass mapNumber(Map mapNumber) {
this.mapNumber = mapNumber;
@@ -79,8 +77,6 @@ public AdditionalPropertiesClass mapNumber(Map mapNumber) {
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("map_number")
public Map getMapNumber() {
@@ -108,7 +104,7 @@ public AdditionalPropertiesClass removeMapNumberItem(BigDecimal mapNumberItem) {
return this;
}
-/**
+ /**
**/
public AdditionalPropertiesClass mapInteger(Map mapInteger) {
this.mapInteger = mapInteger;
@@ -116,8 +112,6 @@ public AdditionalPropertiesClass mapInteger(Map mapInteger) {
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("map_integer")
public Map getMapInteger() {
@@ -145,7 +139,7 @@ public AdditionalPropertiesClass removeMapIntegerItem(Integer mapIntegerItem) {
return this;
}
-/**
+ /**
**/
public AdditionalPropertiesClass mapBoolean(Map mapBoolean) {
this.mapBoolean = mapBoolean;
@@ -153,8 +147,6 @@ public AdditionalPropertiesClass mapBoolean(Map mapBoolean) {
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("map_boolean")
public Map getMapBoolean() {
@@ -182,7 +174,7 @@ public AdditionalPropertiesClass removeMapBooleanItem(Boolean mapBooleanItem) {
return this;
}
-/**
+ /**
**/
public AdditionalPropertiesClass mapArrayInteger(Map> mapArrayInteger) {
this.mapArrayInteger = mapArrayInteger;
@@ -190,8 +182,6 @@ public AdditionalPropertiesClass mapArrayInteger(Map> mapA
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("map_array_integer")
public Map> getMapArrayInteger() {
@@ -219,7 +209,7 @@ public AdditionalPropertiesClass removeMapArrayIntegerItem(List mapArra
return this;
}
-/**
+ /**
**/
public AdditionalPropertiesClass mapArrayAnytype(Map> mapArrayAnytype) {
this.mapArrayAnytype = mapArrayAnytype;
@@ -227,8 +217,6 @@ public AdditionalPropertiesClass mapArrayAnytype(Map> mapAr
}
-
-
@ApiModelProperty(value = "")
@JsonProperty("map_array_anytype")
public Map> getMapArrayAnytype() {
@@ -256,7 +244,7 @@ public AdditionalPropertiesClass removeMapArrayAnytypeItem(List