diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaUndertowServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaUndertowServerCodegen.java
index ddd7c0f5dfe..6d8ea3d0399 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaUndertowServerCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaUndertowServerCodegen.java
@@ -17,13 +17,18 @@
package org.openapitools.codegen.languages;
-import org.openapitools.codegen.*;
-
import org.apache.commons.lang3.BooleanUtils;
+import org.openapitools.codegen.CodegenModel;
+import org.openapitools.codegen.CodegenOperation;
+import org.openapitools.codegen.CodegenProperty;
+import org.openapitools.codegen.CodegenType;
+import org.openapitools.codegen.SupportingFile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
public class JavaUndertowServerCodegen extends AbstractJavaCodegen {
@@ -38,7 +43,7 @@ public class JavaUndertowServerCodegen extends AbstractJavaCodegen {
sourceFolder = "src/main/java";
apiTestTemplateFiles.clear(); // TODO: add test template
embeddedTemplateDir = templateDir = "undertow";
- invokerPackage = "io.swagger.handler";
+ invokerPackage = "org.openapitools.handler";
artifactId = "openapi-undertow-server";
dateLibrary = "legacy"; //TODO: add joda support
@@ -48,9 +53,18 @@ public class JavaUndertowServerCodegen extends AbstractJavaCodegen {
modelDocTemplateFiles.remove("model_doc.mustache");
apiDocTemplateFiles.remove("api_doc.mustache");
-
- apiPackage = System.getProperty("swagger.codegen.undertow.apipackage", "io.swagger.handler");
- modelPackage = System.getProperty("swagger.codegen.undertow.modelpackage", "io.swagger.model");
+ if(System.getProperty("swagger.codegen.undertow.apipackage") != null && System.getProperty("openapi.codegen.undertow.apipackage") == null) {
+ LOGGER.warn("System property 'swagger.codegen.undertow.apipackage' was renamed to 'swagger.codegen.undertow.apipackage'");
+ apiPackage = System.getProperty("swagger.codegen.undertow.apipackage", "org.openapitools.handler");
+ } else {
+ apiPackage = System.getProperty("openapi.codegen.undertow.apipackage", "org.openapitools.handler");
+ }
+ if(System.getProperty("swagger.codegen.undertow.modelpackage") != null && System.getProperty("openapi.codegen.undertow.modelpackage") == null) {
+ LOGGER.warn("System property 'swagger.codegen.undertow.modelpackage' was renamed to 'openapi.codegen.undertow.modelpackage'");
+ modelPackage = System.getProperty("swagger.codegen.undertow.modelpackage", "org.openapitools.model");
+ } else {
+ modelPackage = System.getProperty("openapi.codegen.undertow.modelpackage", "org.openapitools.model");
+ }
additionalProperties.put("title", title);
}
@@ -81,7 +95,7 @@ public class JavaUndertowServerCodegen extends AbstractJavaCodegen {
// keep the yaml in config folder for framework validation.
supportingFiles.add(new SupportingFile("openapi.mustache", ("src.main.resources.config").replace(".", java.io.File.separator), "openapi.json"));
- supportingFiles.add(new SupportingFile("handler.mustache", ("src.main.java.io.swagger.handler").replace(".", java.io.File.separator), "PathHandlerProvider.java"));
+ supportingFiles.add(new SupportingFile("handler.mustache", ("src.main.java.org.openapitools.handler").replace(".", java.io.File.separator), "PathHandlerProvider.java"));
supportingFiles.add(new SupportingFile("service.mustache", ("src.main.resources.META-INF.services").replace(".", java.io.File.separator), "com.networknt.server.HandlerProvider"));
// configuration files
diff --git a/modules/openapi-generator/src/main/resources/undertow/handler.mustache b/modules/openapi-generator/src/main/resources/undertow/handler.mustache
index 683bacede31..4cb411f79d6 100644
--- a/modules/openapi-generator/src/main/resources/undertow/handler.mustache
+++ b/modules/openapi-generator/src/main/resources/undertow/handler.mustache
@@ -1,4 +1,4 @@
-package io.swagger.handler;
+package org.openapitools.handler;
import com.networknt.config.Config;
import com.networknt.server.HandlerProvider;
diff --git a/modules/openapi-generator/src/main/resources/undertow/service.mustache b/modules/openapi-generator/src/main/resources/undertow/service.mustache
index e6f7ef0b3e5..71e0a6165a1 100644
--- a/modules/openapi-generator/src/main/resources/undertow/service.mustache
+++ b/modules/openapi-generator/src/main/resources/undertow/service.mustache
@@ -1 +1 @@
-io.swagger.handler.PathHandlerProvider
\ No newline at end of file
+org.openapitools.handler.PathHandlerProvider
\ No newline at end of file
diff --git a/samples/server/petstore/undertow/.openapi-generator-ignore b/samples/server/petstore/undertow/.openapi-generator-ignore
index c5fa491b4c5..7484ee590a3 100644
--- a/samples/server/petstore/undertow/.openapi-generator-ignore
+++ b/samples/server/petstore/undertow/.openapi-generator-ignore
@@ -1,11 +1,11 @@
-# Swagger Codegen Ignore
-# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
+# OpenAPI Generator Ignore
+# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
-# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
+# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
diff --git a/samples/server/petstore/undertow/.openapi-generator/VERSION b/samples/server/petstore/undertow/.openapi-generator/VERSION
index 50794f17f1a..096bf47efe3 100644
--- a/samples/server/petstore/undertow/.openapi-generator/VERSION
+++ b/samples/server/petstore/undertow/.openapi-generator/VERSION
@@ -1 +1 @@
-2.3.1-SNAPSHOT
\ No newline at end of file
+3.0.0-SNAPSHOT
\ No newline at end of file
diff --git a/samples/server/petstore/undertow/README.md b/samples/server/petstore/undertow/README.md
index 9f1e36dd163..a983dba343c 100644
--- a/samples/server/petstore/undertow/README.md
+++ b/samples/server/petstore/undertow/README.md
@@ -20,9 +20,5 @@ oauth2 server [undertow-server-oauth2](https://github.com/networknt/undertow-ser
Bearer eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJ1cm46Y29tOm5ldHdvcmtudDpvYXV0aDI6djEiLCJhdWQiOiJ1cm46Y29tLm5ldHdvcmtudCIsImV4cCI6MTc4ODEzMjczNSwianRpIjoiNWtyM2ZWOHJaelBZNEJrSnNYZzFpQSIsImlhdCI6MTQ3Mjc3MjczNSwibmJmIjoxNDcyNzcyNjE1LCJ2ZXJzaW9uIjoiMS4wIiwidXNlcl9pZCI6InN0ZXZlIiwidXNlcl90eXBlIjoiRU1QTE9ZRUUiLCJjbGllbnRfaWQiOiJkZGNhZjBiYS0xMTMxLTIyMzItMzMxMy1kNmYyNzUzZjI1ZGMiLCJzY29wZSI6WyJhcGkuciIsImFwaS53Il19.gteJiy1uao8HLeWRljpZxHWUgQfofwmnFP-zv3EPUyXjyCOy3xclnfeTnTE39j8PgBwdFASPcDLLk1YfZJbsU6pLlmYXLtdpHDBsVmIRuch6LFPCVQ3JdqSQVci59OhSK0bBThGWqCD3UzDI_OnX4IVCAahcT9Bu94m5u_H_JNmwDf1XaP3Lt4I34buYMuRD9stchsnZi-tuIRkL13FARm1XA9aPZUMUXFdedBWDXo1zMREQ_qCJXOpaZDJM9Im0rIkq9wTEVU00pbRp_Vcdya3dfkFteBMHiwFVt6VNQaco5BXURDAIzXidwQxNEbX1ek03wra8AIani65ZK7fy_w
```
-Postman is the best tool to test REST APIs
-
Add "Authorization" header with value as above token and a dummy message will return from the generated stub.
-
-
diff --git a/samples/server/petstore/undertow/dependency-reduced-pom.xml b/samples/server/petstore/undertow/dependency-reduced-pom.xml
index 1a2b3705ce9..54df4d8f5b7 100644
--- a/samples/server/petstore/undertow/dependency-reduced-pom.xml
+++ b/samples/server/petstore/undertow/dependency-reduced-pom.xml
@@ -7,18 +7,34 @@
../pom.xml/pom.xml
4.0.0
- io.swagger
- swagger-undertow-server
- swagger-undertow-server
+ org.openapitools
+ openapi-undertow-server
+ openapi-undertow-server
1.0.0
-
- 2.2.0
-
install
target
${project.artifactId}-${project.version}
+
+ maven-enforcer-plugin
+ 3.0.0-M1
+
+
+ enforce-maven
+
+ enforce
+
+
+
+
+ 2.2.0
+
+
+
+
+
+
maven-shade-plugin
2.4.3
diff --git a/samples/server/petstore/undertow/pom.xml b/samples/server/petstore/undertow/pom.xml
index f5e8cc42f31..06e3d5e7b75 100644
--- a/samples/server/petstore/undertow/pom.xml
+++ b/samples/server/petstore/undertow/pom.xml
@@ -1,18 +1,16 @@
-
+
org.sonatype.oss
oss-parent
5
4.0.0
- io.swagger
- swagger-undertow-server
+ org.openapitools
+ openapi-undertow-server
jar
- swagger-undertow-server
+ openapi-undertow-server
1.0.0
-
- 2.2.0
-
1.8
@@ -132,6 +130,26 @@
target
${project.artifactId}-${project.version}
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.0.0-M1
+
+
+ enforce-maven
+
+ enforce
+
+
+
+
+ 2.2.0
+
+
+
+
+
+
org.apache.maven.plugins
maven-shade-plugin
@@ -144,7 +162,8 @@
-
+
@@ -186,4 +205,4 @@
-
\ No newline at end of file
+
diff --git a/samples/server/petstore/undertow/src/main/java/io/swagger/handler/PathHandlerProvider.java b/samples/server/petstore/undertow/src/main/java/org/openapitools/handler/PathHandlerProvider.java
similarity index 99%
rename from samples/server/petstore/undertow/src/main/java/io/swagger/handler/PathHandlerProvider.java
rename to samples/server/petstore/undertow/src/main/java/org/openapitools/handler/PathHandlerProvider.java
index 2dbba6aff95..2fc96fbbba3 100644
--- a/samples/server/petstore/undertow/src/main/java/io/swagger/handler/PathHandlerProvider.java
+++ b/samples/server/petstore/undertow/src/main/java/org/openapitools/handler/PathHandlerProvider.java
@@ -1,4 +1,4 @@
-package io.swagger.handler;
+package org.openapitools.handler;
import com.networknt.config.Config;
import com.networknt.server.HandlerProvider;
diff --git a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Category.java b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Category.java
similarity index 93%
rename from samples/server/petstore/undertow/src/main/java/io/swagger/model/Category.java
rename to samples/server/petstore/undertow/src/main/java/org/openapitools/model/Category.java
index cd893630bb0..2715955f28f 100644
--- a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Category.java
+++ b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Category.java
@@ -1,4 +1,4 @@
-package io.swagger.model;
+package org.openapitools.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -13,7 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
**/
@ApiModel(description = "A category for a pet")
-@javax.annotation.Generated(value = "io.swagger.codegen.languages.UndertowCodegen")
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaUndertowServerCodegen")
public class Category {
private Long id = null;
diff --git a/samples/server/petstore/undertow/src/main/java/io/swagger/model/ModelApiResponse.java b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/ModelApiResponse.java
similarity index 95%
rename from samples/server/petstore/undertow/src/main/java/io/swagger/model/ModelApiResponse.java
rename to samples/server/petstore/undertow/src/main/java/org/openapitools/model/ModelApiResponse.java
index 379cd81e56d..771d6c4231a 100644
--- a/samples/server/petstore/undertow/src/main/java/io/swagger/model/ModelApiResponse.java
+++ b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/ModelApiResponse.java
@@ -1,4 +1,4 @@
-package io.swagger.model;
+package org.openapitools.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -13,7 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
**/
@ApiModel(description = "Describes the result of uploading an image resource")
-@javax.annotation.Generated(value = "io.swagger.codegen.languages.UndertowCodegen")
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaUndertowServerCodegen")
public class ModelApiResponse {
private Integer code = null;
diff --git a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Order.java b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Order.java
similarity index 96%
rename from samples/server/petstore/undertow/src/main/java/io/swagger/model/Order.java
rename to samples/server/petstore/undertow/src/main/java/org/openapitools/model/Order.java
index fab631a5da6..7b3fcf8b077 100644
--- a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Order.java
+++ b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Order.java
@@ -1,4 +1,4 @@
-package io.swagger.model;
+package org.openapitools.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -15,7 +15,7 @@ import java.util.Date;
**/
@ApiModel(description = "An order for a pets from the pet store")
-@javax.annotation.Generated(value = "io.swagger.codegen.languages.UndertowCodegen")
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaUndertowServerCodegen")
public class Order {
private Long id = null;
diff --git a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Pet.java b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Pet.java
similarity index 95%
rename from samples/server/petstore/undertow/src/main/java/io/swagger/model/Pet.java
rename to samples/server/petstore/undertow/src/main/java/org/openapitools/model/Pet.java
index ba8ffc821aa..0f7123c364e 100644
--- a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Pet.java
+++ b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Pet.java
@@ -1,4 +1,4 @@
-package io.swagger.model;
+package org.openapitools.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -6,10 +6,10 @@ import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
-import io.swagger.model.Category;
-import io.swagger.model.Tag;
import java.util.ArrayList;
import java.util.List;
+import org.openapitools.model.Category;
+import org.openapitools.model.Tag;
@@ -18,7 +18,7 @@ import java.util.List;
**/
@ApiModel(description = "A pet for sale in the pet store")
-@javax.annotation.Generated(value = "io.swagger.codegen.languages.UndertowCodegen")
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaUndertowServerCodegen")
public class Pet {
private Long id = null;
diff --git a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Tag.java b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Tag.java
similarity index 93%
rename from samples/server/petstore/undertow/src/main/java/io/swagger/model/Tag.java
rename to samples/server/petstore/undertow/src/main/java/org/openapitools/model/Tag.java
index 0296e57b864..a50dc623cca 100644
--- a/samples/server/petstore/undertow/src/main/java/io/swagger/model/Tag.java
+++ b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/Tag.java
@@ -1,4 +1,4 @@
-package io.swagger.model;
+package org.openapitools.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -13,7 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
**/
@ApiModel(description = "A tag for a pet")
-@javax.annotation.Generated(value = "io.swagger.codegen.languages.UndertowCodegen")
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaUndertowServerCodegen")
public class Tag {
private Long id = null;
diff --git a/samples/server/petstore/undertow/src/main/java/io/swagger/model/User.java b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/User.java
similarity index 97%
rename from samples/server/petstore/undertow/src/main/java/io/swagger/model/User.java
rename to samples/server/petstore/undertow/src/main/java/org/openapitools/model/User.java
index 64e6021282a..d88248b984f 100644
--- a/samples/server/petstore/undertow/src/main/java/io/swagger/model/User.java
+++ b/samples/server/petstore/undertow/src/main/java/org/openapitools/model/User.java
@@ -1,4 +1,4 @@
-package io.swagger.model;
+package org.openapitools.model;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -13,7 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
**/
@ApiModel(description = "A User who is purchasing from the pet store")
-@javax.annotation.Generated(value = "io.swagger.codegen.languages.UndertowCodegen")
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaUndertowServerCodegen")
public class User {
private Long id = null;
diff --git a/samples/server/petstore/undertow/src/main/resources/META-INF/services/com.networknt.server.HandlerProvider b/samples/server/petstore/undertow/src/main/resources/META-INF/services/com.networknt.server.HandlerProvider
index e6f7ef0b3e5..71e0a6165a1 100644
--- a/samples/server/petstore/undertow/src/main/resources/META-INF/services/com.networknt.server.HandlerProvider
+++ b/samples/server/petstore/undertow/src/main/resources/META-INF/services/com.networknt.server.HandlerProvider
@@ -1 +1 @@
-io.swagger.handler.PathHandlerProvider
\ No newline at end of file
+org.openapitools.handler.PathHandlerProvider
\ No newline at end of file
diff --git a/samples/server/petstore/undertow/src/main/resources/config/openapi.json b/samples/server/petstore/undertow/src/main/resources/config/openapi.json
new file mode 100644
index 00000000000..085c36fa397
--- /dev/null
+++ b/samples/server/petstore/undertow/src/main/resources/config/openapi.json
@@ -0,0 +1,1048 @@
+{
+ "openapi" : "3.0.1",
+ "info" : {
+ "title" : "Swagger Petstore",
+ "description" : "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "termsOfService" : "http://swagger.io/terms/",
+ "contact" : {
+ "email" : "apiteam@swagger.io"
+ },
+ "license" : {
+ "name" : "Apache-2.0",
+ "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
+ },
+ "version" : "1.0.0"
+ },
+ "externalDocs" : {
+ "description" : "Find out more about Swagger",
+ "url" : "http://swagger.io"
+ },
+ "servers" : [ {
+ "url" : "http://petstore.swagger.io/v2"
+ } ],
+ "tags" : [ {
+ "name" : "pet",
+ "description" : "Everything about your Pets",
+ "externalDocs" : {
+ "description" : "Find out more",
+ "url" : "http://swagger.io"
+ }
+ }, {
+ "name" : "store",
+ "description" : "Access to Petstore orders"
+ }, {
+ "name" : "user",
+ "description" : "Operations about user",
+ "externalDocs" : {
+ "description" : "Find out more about our store",
+ "url" : "http://swagger.io"
+ }
+ } ],
+ "paths" : {
+ "/pet" : {
+ "put" : {
+ "tags" : [ "pet" ],
+ "summary" : "Update an existing pet",
+ "operationId" : "updatePet",
+ "requestBody" : {
+ "description" : "Pet object that needs to be added to the store",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ },
+ "application/xml" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "400" : {
+ "description" : "Invalid ID supplied",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "Pet not found",
+ "content" : { }
+ },
+ "405" : {
+ "description" : "Validation exception",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "petstore_auth" : [ "write:pets", "read:pets" ]
+ } ],
+ "x-contentType" : "application/json",
+ "x-accepts" : "application/json"
+ },
+ "post" : {
+ "tags" : [ "pet" ],
+ "summary" : "Add a new pet to the store",
+ "operationId" : "addPet",
+ "requestBody" : {
+ "description" : "Pet object that needs to be added to the store",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ },
+ "application/xml" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "405" : {
+ "description" : "Invalid input",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "petstore_auth" : [ "write:pets", "read:pets" ]
+ } ],
+ "x-contentType" : "application/json",
+ "x-accepts" : "application/json"
+ }
+ },
+ "/pet/findByStatus" : {
+ "get" : {
+ "tags" : [ "pet" ],
+ "summary" : "Finds Pets by status",
+ "description" : "Multiple status values can be provided with comma separated strings",
+ "operationId" : "findPetsByStatus",
+ "parameters" : [ {
+ "name" : "status",
+ "in" : "query",
+ "description" : "Status values that need to be considered for filter",
+ "required" : true,
+ "explode" : false,
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "type" : "string",
+ "default" : "available",
+ "enum" : [ "available", "pending", "sold" ]
+ }
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/xml" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid status value",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "petstore_auth" : [ "write:pets", "read:pets" ]
+ } ],
+ "x-accepts" : "application/json"
+ }
+ },
+ "/pet/findByTags" : {
+ "get" : {
+ "tags" : [ "pet" ],
+ "summary" : "Finds Pets by tags",
+ "description" : "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
+ "operationId" : "findPetsByTags",
+ "parameters" : [ {
+ "name" : "tags",
+ "in" : "query",
+ "description" : "Tags to filter by",
+ "required" : true,
+ "explode" : false,
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "type" : "string"
+ }
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/xml" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid tag value",
+ "content" : { }
+ }
+ },
+ "deprecated" : true,
+ "security" : [ {
+ "petstore_auth" : [ "write:pets", "read:pets" ]
+ } ],
+ "x-accepts" : "application/json"
+ }
+ },
+ "/pet/{petId}" : {
+ "get" : {
+ "tags" : [ "pet" ],
+ "summary" : "Find pet by ID",
+ "description" : "Returns a single pet",
+ "operationId" : "getPetById",
+ "parameters" : [ {
+ "name" : "petId",
+ "in" : "path",
+ "description" : "ID of pet to return",
+ "required" : true,
+ "schema" : {
+ "type" : "integer",
+ "format" : "int64"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/xml" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Pet"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid ID supplied",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "Pet not found",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "api_key" : [ ]
+ } ],
+ "x-accepts" : "application/json"
+ },
+ "post" : {
+ "tags" : [ "pet" ],
+ "summary" : "Updates a pet in the store with form data",
+ "operationId" : "updatePetWithForm",
+ "parameters" : [ {
+ "name" : "petId",
+ "in" : "path",
+ "description" : "ID of pet that needs to be updated",
+ "required" : true,
+ "schema" : {
+ "type" : "integer",
+ "format" : "int64"
+ }
+ } ],
+ "requestBody" : {
+ "content" : {
+ "application/x-www-form-urlencoded" : {
+ "schema" : {
+ "properties" : {
+ "name" : {
+ "type" : "string",
+ "description" : "Updated name of the pet"
+ },
+ "status" : {
+ "type" : "string",
+ "description" : "Updated status of the pet"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses" : {
+ "405" : {
+ "description" : "Invalid input",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "petstore_auth" : [ "write:pets", "read:pets" ]
+ } ],
+ "x-contentType" : "application/x-www-form-urlencoded",
+ "x-accepts" : "application/json"
+ },
+ "delete" : {
+ "tags" : [ "pet" ],
+ "summary" : "Deletes a pet",
+ "operationId" : "deletePet",
+ "parameters" : [ {
+ "name" : "api_key",
+ "in" : "header",
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "petId",
+ "in" : "path",
+ "description" : "Pet id to delete",
+ "required" : true,
+ "schema" : {
+ "type" : "integer",
+ "format" : "int64"
+ }
+ } ],
+ "responses" : {
+ "400" : {
+ "description" : "Invalid pet value",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "petstore_auth" : [ "write:pets", "read:pets" ]
+ } ],
+ "x-accepts" : "application/json"
+ }
+ },
+ "/pet/{petId}/uploadImage" : {
+ "post" : {
+ "tags" : [ "pet" ],
+ "summary" : "uploads an image",
+ "operationId" : "uploadFile",
+ "parameters" : [ {
+ "name" : "petId",
+ "in" : "path",
+ "description" : "ID of pet to update",
+ "required" : true,
+ "schema" : {
+ "type" : "integer",
+ "format" : "int64"
+ }
+ } ],
+ "requestBody" : {
+ "content" : {
+ "multipart/form-data" : {
+ "schema" : {
+ "properties" : {
+ "additionalMetadata" : {
+ "type" : "string",
+ "description" : "Additional data to pass to server"
+ },
+ "file" : {
+ "type" : "string",
+ "description" : "file to upload",
+ "format" : "binary"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/ApiResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "petstore_auth" : [ "write:pets", "read:pets" ]
+ } ],
+ "x-contentType" : "multipart/form-data",
+ "x-accepts" : "application/json"
+ }
+ },
+ "/store/inventory" : {
+ "get" : {
+ "tags" : [ "store" ],
+ "summary" : "Returns pet inventories by status",
+ "description" : "Returns a map of status codes to quantities",
+ "operationId" : "getInventory",
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "type" : "object",
+ "additionalProperties" : {
+ "type" : "integer",
+ "format" : "int32"
+ }
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "api_key" : [ ]
+ } ],
+ "x-accepts" : "application/json"
+ }
+ },
+ "/store/order" : {
+ "post" : {
+ "tags" : [ "store" ],
+ "summary" : "Place an order for a pet",
+ "operationId" : "placeOrder",
+ "requestBody" : {
+ "description" : "order placed for purchasing the pet",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Order"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/xml" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Order"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Order"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid Order",
+ "content" : { }
+ }
+ },
+ "x-contentType" : "*/*",
+ "x-accepts" : "application/json"
+ }
+ },
+ "/store/order/{orderId}" : {
+ "get" : {
+ "tags" : [ "store" ],
+ "summary" : "Find purchase order by ID",
+ "description" : "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions",
+ "operationId" : "getOrderById",
+ "parameters" : [ {
+ "name" : "orderId",
+ "in" : "path",
+ "description" : "ID of pet that needs to be fetched",
+ "required" : true,
+ "schema" : {
+ "maximum" : 5,
+ "minimum" : 1,
+ "type" : "integer",
+ "format" : "int64"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/xml" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Order"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Order"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid ID supplied",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "Order not found",
+ "content" : { }
+ }
+ },
+ "x-accepts" : "application/json"
+ },
+ "delete" : {
+ "tags" : [ "store" ],
+ "summary" : "Delete purchase order by ID",
+ "description" : "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors",
+ "operationId" : "deleteOrder",
+ "parameters" : [ {
+ "name" : "orderId",
+ "in" : "path",
+ "description" : "ID of the order that needs to be deleted",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "400" : {
+ "description" : "Invalid ID supplied",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "Order not found",
+ "content" : { }
+ }
+ },
+ "x-accepts" : "application/json"
+ }
+ },
+ "/user" : {
+ "post" : {
+ "tags" : [ "user" ],
+ "summary" : "Create user",
+ "description" : "This can only be done by the logged in user.",
+ "operationId" : "createUser",
+ "requestBody" : {
+ "description" : "Created user object",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/User"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "default" : {
+ "description" : "successful operation",
+ "content" : { }
+ }
+ },
+ "x-contentType" : "*/*",
+ "x-accepts" : "application/json"
+ }
+ },
+ "/user/createWithArray" : {
+ "post" : {
+ "tags" : [ "user" ],
+ "summary" : "Creates list of users with given input array",
+ "operationId" : "createUsersWithArrayInput",
+ "requestBody" : {
+ "description" : "List of user object",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "default" : {
+ "description" : "successful operation",
+ "content" : { }
+ }
+ },
+ "x-contentType" : "*/*",
+ "x-accepts" : "application/json"
+ }
+ },
+ "/user/createWithList" : {
+ "post" : {
+ "tags" : [ "user" ],
+ "summary" : "Creates list of users with given input array",
+ "operationId" : "createUsersWithListInput",
+ "requestBody" : {
+ "description" : "List of user object",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "default" : {
+ "description" : "successful operation",
+ "content" : { }
+ }
+ },
+ "x-contentType" : "*/*",
+ "x-accepts" : "application/json"
+ }
+ },
+ "/user/login" : {
+ "get" : {
+ "tags" : [ "user" ],
+ "summary" : "Logs user into the system",
+ "operationId" : "loginUser",
+ "parameters" : [ {
+ "name" : "username",
+ "in" : "query",
+ "description" : "The user name for login",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "password",
+ "in" : "query",
+ "description" : "The password for login in clear text",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "headers" : {
+ "X-Rate-Limit" : {
+ "description" : "calls per hour allowed by the user",
+ "schema" : {
+ "type" : "integer",
+ "format" : "int32"
+ }
+ },
+ "X-Expires-After" : {
+ "description" : "date in UTC when toekn expires",
+ "schema" : {
+ "type" : "string",
+ "format" : "date-time"
+ }
+ }
+ },
+ "content" : {
+ "application/xml" : {
+ "schema" : {
+ "type" : "string"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "type" : "string"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid username/password supplied",
+ "content" : { }
+ }
+ },
+ "x-accepts" : "application/json"
+ }
+ },
+ "/user/logout" : {
+ "get" : {
+ "tags" : [ "user" ],
+ "summary" : "Logs out current logged in user session",
+ "operationId" : "logoutUser",
+ "responses" : {
+ "default" : {
+ "description" : "successful operation",
+ "content" : { }
+ }
+ },
+ "x-accepts" : "application/json"
+ }
+ },
+ "/user/{username}" : {
+ "get" : {
+ "tags" : [ "user" ],
+ "summary" : "Get user by user name",
+ "operationId" : "getUserByName",
+ "parameters" : [ {
+ "name" : "username",
+ "in" : "path",
+ "description" : "The name that needs to be fetched. Use user1 for testing.",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "content" : {
+ "application/xml" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/User"
+ }
+ },
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/User"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid username supplied",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "User not found",
+ "content" : { }
+ }
+ },
+ "x-accepts" : "application/json"
+ },
+ "put" : {
+ "tags" : [ "user" ],
+ "summary" : "Updated user",
+ "description" : "This can only be done by the logged in user.",
+ "operationId" : "updateUser",
+ "parameters" : [ {
+ "name" : "username",
+ "in" : "path",
+ "description" : "name that need to be deleted",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "description" : "Updated user object",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/User"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "400" : {
+ "description" : "Invalid user supplied",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "User not found",
+ "content" : { }
+ }
+ },
+ "x-contentType" : "*/*",
+ "x-accepts" : "application/json"
+ },
+ "delete" : {
+ "tags" : [ "user" ],
+ "summary" : "Delete user",
+ "description" : "This can only be done by the logged in user.",
+ "operationId" : "deleteUser",
+ "parameters" : [ {
+ "name" : "username",
+ "in" : "path",
+ "description" : "The name that needs to be deleted",
+ "required" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "400" : {
+ "description" : "Invalid username supplied",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "User not found",
+ "content" : { }
+ }
+ },
+ "x-accepts" : "application/json"
+ }
+ }
+ },
+ "components" : {
+ "schemas" : {
+ "Order" : {
+ "title" : "Pet Order",
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "petId" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "quantity" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "shipDate" : {
+ "type" : "string",
+ "format" : "date-time"
+ },
+ "status" : {
+ "type" : "string",
+ "description" : "Order Status",
+ "enum" : [ "placed", "approved", "delivered" ]
+ },
+ "complete" : {
+ "type" : "boolean",
+ "default" : false
+ }
+ },
+ "description" : "An order for a pets from the pet store",
+ "example" : {
+ "petId" : 6,
+ "quantity" : 1,
+ "id" : 0,
+ "shipDate" : "2000-01-23T04:56:07.000+00:00",
+ "complete" : false,
+ "status" : "placed"
+ },
+ "xml" : {
+ "name" : "Order"
+ }
+ },
+ "Category" : {
+ "title" : "Pet category",
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "name" : {
+ "type" : "string"
+ }
+ },
+ "description" : "A category for a pet",
+ "example" : {
+ "name" : "name",
+ "id" : 6
+ },
+ "xml" : {
+ "name" : "Category"
+ }
+ },
+ "User" : {
+ "title" : "a User",
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "username" : {
+ "type" : "string"
+ },
+ "firstName" : {
+ "type" : "string"
+ },
+ "lastName" : {
+ "type" : "string"
+ },
+ "email" : {
+ "type" : "string"
+ },
+ "password" : {
+ "type" : "string"
+ },
+ "phone" : {
+ "type" : "string"
+ },
+ "userStatus" : {
+ "type" : "integer",
+ "description" : "User Status",
+ "format" : "int32"
+ }
+ },
+ "description" : "A User who is purchasing from the pet store",
+ "example" : {
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "password" : "password",
+ "userStatus" : 6,
+ "phone" : "phone",
+ "id" : 0,
+ "email" : "email",
+ "username" : "username"
+ },
+ "xml" : {
+ "name" : "User"
+ }
+ },
+ "Tag" : {
+ "title" : "Pet Tag",
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "name" : {
+ "type" : "string"
+ }
+ },
+ "description" : "A tag for a pet",
+ "example" : {
+ "name" : "name",
+ "id" : 1
+ },
+ "xml" : {
+ "name" : "Tag"
+ }
+ },
+ "Pet" : {
+ "title" : "a Pet",
+ "required" : [ "name", "photoUrls" ],
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "integer",
+ "format" : "int64"
+ },
+ "category" : {
+ "$ref" : "#/components/schemas/Category"
+ },
+ "name" : {
+ "type" : "string",
+ "example" : "doggie"
+ },
+ "photoUrls" : {
+ "type" : "array",
+ "xml" : {
+ "name" : "photoUrl",
+ "wrapped" : true
+ },
+ "items" : {
+ "type" : "string"
+ }
+ },
+ "tags" : {
+ "type" : "array",
+ "xml" : {
+ "name" : "tag",
+ "wrapped" : true
+ },
+ "items" : {
+ "$ref" : "#/components/schemas/Tag"
+ }
+ },
+ "status" : {
+ "type" : "string",
+ "description" : "pet status in the store",
+ "enum" : [ "available", "pending", "sold" ]
+ }
+ },
+ "description" : "A pet for sale in the pet store",
+ "example" : {
+ "photoUrls" : [ "photoUrls", "photoUrls" ],
+ "name" : "doggie",
+ "id" : 0,
+ "category" : {
+ "name" : "name",
+ "id" : 6
+ },
+ "tags" : [ {
+ "name" : "name",
+ "id" : 1
+ }, {
+ "name" : "name",
+ "id" : 1
+ } ],
+ "status" : "available"
+ },
+ "xml" : {
+ "name" : "Pet"
+ }
+ },
+ "ApiResponse" : {
+ "title" : "An uploaded response",
+ "type" : "object",
+ "properties" : {
+ "code" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "type" : {
+ "type" : "string"
+ },
+ "message" : {
+ "type" : "string"
+ }
+ },
+ "description" : "Describes the result of uploading an image resource",
+ "example" : {
+ "code" : 0,
+ "type" : "type",
+ "message" : "message"
+ }
+ }
+ },
+ "securitySchemes" : {
+ "petstore_auth" : {
+ "type" : "oauth2",
+ "flows" : {
+ "implicit" : {
+ "authorizationUrl" : "http://petstore.swagger.io/api/oauth/dialog",
+ "scopes" : {
+ "write:pets" : "modify pets in your account",
+ "read:pets" : "read your pets"
+ }
+ }
+ }
+ },
+ "api_key" : {
+ "type" : "apiKey",
+ "name" : "api_key",
+ "in" : "header"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/samples/server/petstore/undertow/src/main/resources/config/swagger.json b/samples/server/petstore/undertow/src/main/resources/config/swagger.json
deleted file mode 100644
index 0f5defa6026..00000000000
--- a/samples/server/petstore/undertow/src/main/resources/config/swagger.json
+++ /dev/null
@@ -1,908 +0,0 @@
-{
- "swagger" : "2.0",
- "info" : {
- "description" : "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
- "version" : "1.0.0",
- "title" : "Swagger Petstore",
- "termsOfService" : "http://swagger.io/terms/",
- "contact" : {
- "email" : "apiteam@swagger.io"
- },
- "license" : {
- "name" : "Apache-2.0",
- "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
- }
- },
- "host" : "petstore.swagger.io",
- "basePath" : "/v2",
- "tags" : [ {
- "name" : "pet",
- "description" : "Everything about your Pets",
- "externalDocs" : {
- "description" : "Find out more",
- "url" : "http://swagger.io"
- }
- }, {
- "name" : "store",
- "description" : "Access to Petstore orders"
- }, {
- "name" : "user",
- "description" : "Operations about user",
- "externalDocs" : {
- "description" : "Find out more about our store",
- "url" : "http://swagger.io"
- }
- } ],
- "schemes" : [ "http" ],
- "paths" : {
- "/pet" : {
- "post" : {
- "tags" : [ "pet" ],
- "summary" : "Add a new pet to the store",
- "description" : "",
- "operationId" : "addPet",
- "consumes" : [ "application/json", "application/xml" ],
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "in" : "body",
- "name" : "body",
- "description" : "Pet object that needs to be added to the store",
- "required" : true,
- "schema" : {
- "$ref" : "#/definitions/Pet"
- }
- } ],
- "responses" : {
- "405" : {
- "description" : "Invalid input"
- }
- },
- "security" : [ {
- "petstore_auth" : [ "write:pets", "read:pets" ]
- } ],
- "x-contentType" : "application/json",
- "x-accepts" : "application/json"
- },
- "put" : {
- "tags" : [ "pet" ],
- "summary" : "Update an existing pet",
- "description" : "",
- "operationId" : "updatePet",
- "consumes" : [ "application/json", "application/xml" ],
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "in" : "body",
- "name" : "body",
- "description" : "Pet object that needs to be added to the store",
- "required" : true,
- "schema" : {
- "$ref" : "#/definitions/Pet"
- }
- } ],
- "responses" : {
- "400" : {
- "description" : "Invalid ID supplied"
- },
- "404" : {
- "description" : "Pet not found"
- },
- "405" : {
- "description" : "Validation exception"
- }
- },
- "security" : [ {
- "petstore_auth" : [ "write:pets", "read:pets" ]
- } ],
- "x-contentType" : "application/json",
- "x-accepts" : "application/json"
- }
- },
- "/pet/findByStatus" : {
- "get" : {
- "tags" : [ "pet" ],
- "summary" : "Finds Pets by status",
- "description" : "Multiple status values can be provided with comma separated strings",
- "operationId" : "findPetsByStatus",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "status",
- "in" : "query",
- "description" : "Status values that need to be considered for filter",
- "required" : true,
- "type" : "array",
- "items" : {
- "type" : "string",
- "default" : "available",
- "enum" : [ "available", "pending", "sold" ]
- },
- "collectionFormat" : "csv"
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/definitions/Pet"
- }
- }
- },
- "400" : {
- "description" : "Invalid status value"
- }
- },
- "security" : [ {
- "petstore_auth" : [ "write:pets", "read:pets" ]
- } ],
- "x-accepts" : "application/json"
- }
- },
- "/pet/findByTags" : {
- "get" : {
- "tags" : [ "pet" ],
- "summary" : "Finds Pets by tags",
- "description" : "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
- "operationId" : "findPetsByTags",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "tags",
- "in" : "query",
- "description" : "Tags to filter by",
- "required" : true,
- "type" : "array",
- "items" : {
- "type" : "string"
- },
- "collectionFormat" : "csv"
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/definitions/Pet"
- }
- }
- },
- "400" : {
- "description" : "Invalid tag value"
- }
- },
- "security" : [ {
- "petstore_auth" : [ "write:pets", "read:pets" ]
- } ],
- "deprecated" : true,
- "x-accepts" : "application/json"
- }
- },
- "/pet/{petId}" : {
- "get" : {
- "tags" : [ "pet" ],
- "summary" : "Find pet by ID",
- "description" : "Returns a single pet",
- "operationId" : "getPetById",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "petId",
- "in" : "path",
- "description" : "ID of pet to return",
- "required" : true,
- "type" : "integer",
- "format" : "int64"
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "$ref" : "#/definitions/Pet"
- }
- },
- "400" : {
- "description" : "Invalid ID supplied"
- },
- "404" : {
- "description" : "Pet not found"
- }
- },
- "security" : [ {
- "api_key" : [ ]
- } ],
- "x-accepts" : "application/json"
- },
- "post" : {
- "tags" : [ "pet" ],
- "summary" : "Updates a pet in the store with form data",
- "description" : "",
- "operationId" : "updatePetWithForm",
- "consumes" : [ "application/x-www-form-urlencoded" ],
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "petId",
- "in" : "path",
- "description" : "ID of pet that needs to be updated",
- "required" : true,
- "type" : "integer",
- "format" : "int64"
- }, {
- "name" : "name",
- "in" : "formData",
- "description" : "Updated name of the pet",
- "required" : false,
- "type" : "string"
- }, {
- "name" : "status",
- "in" : "formData",
- "description" : "Updated status of the pet",
- "required" : false,
- "type" : "string"
- } ],
- "responses" : {
- "405" : {
- "description" : "Invalid input"
- }
- },
- "security" : [ {
- "petstore_auth" : [ "write:pets", "read:pets" ]
- } ],
- "x-contentType" : "application/x-www-form-urlencoded",
- "x-accepts" : "application/json"
- },
- "delete" : {
- "tags" : [ "pet" ],
- "summary" : "Deletes a pet",
- "description" : "",
- "operationId" : "deletePet",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "api_key",
- "in" : "header",
- "required" : false,
- "type" : "string"
- }, {
- "name" : "petId",
- "in" : "path",
- "description" : "Pet id to delete",
- "required" : true,
- "type" : "integer",
- "format" : "int64"
- } ],
- "responses" : {
- "400" : {
- "description" : "Invalid pet value"
- }
- },
- "security" : [ {
- "petstore_auth" : [ "write:pets", "read:pets" ]
- } ],
- "x-accepts" : "application/json"
- }
- },
- "/pet/{petId}/uploadImage" : {
- "post" : {
- "tags" : [ "pet" ],
- "summary" : "uploads an image",
- "description" : "",
- "operationId" : "uploadFile",
- "consumes" : [ "multipart/form-data" ],
- "produces" : [ "application/json" ],
- "parameters" : [ {
- "name" : "petId",
- "in" : "path",
- "description" : "ID of pet to update",
- "required" : true,
- "type" : "integer",
- "format" : "int64"
- }, {
- "name" : "additionalMetadata",
- "in" : "formData",
- "description" : "Additional data to pass to server",
- "required" : false,
- "type" : "string"
- }, {
- "name" : "file",
- "in" : "formData",
- "description" : "file to upload",
- "required" : false,
- "type" : "file"
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "$ref" : "#/definitions/ApiResponse"
- }
- }
- },
- "security" : [ {
- "petstore_auth" : [ "write:pets", "read:pets" ]
- } ],
- "x-contentType" : "multipart/form-data",
- "x-accepts" : "application/json"
- }
- },
- "/store/inventory" : {
- "get" : {
- "tags" : [ "store" ],
- "summary" : "Returns pet inventories by status",
- "description" : "Returns a map of status codes to quantities",
- "operationId" : "getInventory",
- "produces" : [ "application/json" ],
- "parameters" : [ ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "type" : "object",
- "additionalProperties" : {
- "type" : "integer",
- "format" : "int32"
- }
- }
- }
- },
- "security" : [ {
- "api_key" : [ ]
- } ],
- "x-accepts" : "application/json"
- }
- },
- "/store/order" : {
- "post" : {
- "tags" : [ "store" ],
- "summary" : "Place an order for a pet",
- "description" : "",
- "operationId" : "placeOrder",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "in" : "body",
- "name" : "body",
- "description" : "order placed for purchasing the pet",
- "required" : true,
- "schema" : {
- "$ref" : "#/definitions/Order"
- }
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "$ref" : "#/definitions/Order"
- }
- },
- "400" : {
- "description" : "Invalid Order"
- }
- },
- "x-contentType" : "application/json",
- "x-accepts" : "application/json"
- }
- },
- "/store/order/{orderId}" : {
- "get" : {
- "tags" : [ "store" ],
- "summary" : "Find purchase order by ID",
- "description" : "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions",
- "operationId" : "getOrderById",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "orderId",
- "in" : "path",
- "description" : "ID of pet that needs to be fetched",
- "required" : true,
- "type" : "integer",
- "maximum" : 5,
- "minimum" : 1,
- "format" : "int64"
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "$ref" : "#/definitions/Order"
- }
- },
- "400" : {
- "description" : "Invalid ID supplied"
- },
- "404" : {
- "description" : "Order not found"
- }
- },
- "x-accepts" : "application/json"
- },
- "delete" : {
- "tags" : [ "store" ],
- "summary" : "Delete purchase order by ID",
- "description" : "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors",
- "operationId" : "deleteOrder",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "orderId",
- "in" : "path",
- "description" : "ID of the order that needs to be deleted",
- "required" : true,
- "type" : "string"
- } ],
- "responses" : {
- "400" : {
- "description" : "Invalid ID supplied"
- },
- "404" : {
- "description" : "Order not found"
- }
- },
- "x-accepts" : "application/json"
- }
- },
- "/user" : {
- "post" : {
- "tags" : [ "user" ],
- "summary" : "Create user",
- "description" : "This can only be done by the logged in user.",
- "operationId" : "createUser",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "in" : "body",
- "name" : "body",
- "description" : "Created user object",
- "required" : true,
- "schema" : {
- "$ref" : "#/definitions/User"
- }
- } ],
- "responses" : {
- "default" : {
- "description" : "successful operation"
- }
- },
- "x-contentType" : "application/json",
- "x-accepts" : "application/json"
- }
- },
- "/user/createWithArray" : {
- "post" : {
- "tags" : [ "user" ],
- "summary" : "Creates list of users with given input array",
- "description" : "",
- "operationId" : "createUsersWithArrayInput",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "in" : "body",
- "name" : "body",
- "description" : "List of user object",
- "required" : true,
- "schema" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/definitions/User"
- }
- }
- } ],
- "responses" : {
- "default" : {
- "description" : "successful operation"
- }
- },
- "x-contentType" : "application/json",
- "x-accepts" : "application/json"
- }
- },
- "/user/createWithList" : {
- "post" : {
- "tags" : [ "user" ],
- "summary" : "Creates list of users with given input array",
- "description" : "",
- "operationId" : "createUsersWithListInput",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "in" : "body",
- "name" : "body",
- "description" : "List of user object",
- "required" : true,
- "schema" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/definitions/User"
- }
- }
- } ],
- "responses" : {
- "default" : {
- "description" : "successful operation"
- }
- },
- "x-contentType" : "application/json",
- "x-accepts" : "application/json"
- }
- },
- "/user/login" : {
- "get" : {
- "tags" : [ "user" ],
- "summary" : "Logs user into the system",
- "description" : "",
- "operationId" : "loginUser",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "username",
- "in" : "query",
- "description" : "The user name for login",
- "required" : true,
- "type" : "string"
- }, {
- "name" : "password",
- "in" : "query",
- "description" : "The password for login in clear text",
- "required" : true,
- "type" : "string"
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "type" : "string"
- },
- "headers" : {
- "X-Rate-Limit" : {
- "type" : "integer",
- "format" : "int32",
- "description" : "calls per hour allowed by the user"
- },
- "X-Expires-After" : {
- "type" : "string",
- "format" : "date-time",
- "description" : "date in UTC when toekn expires"
- }
- }
- },
- "400" : {
- "description" : "Invalid username/password supplied"
- }
- },
- "x-accepts" : "application/json"
- }
- },
- "/user/logout" : {
- "get" : {
- "tags" : [ "user" ],
- "summary" : "Logs out current logged in user session",
- "description" : "",
- "operationId" : "logoutUser",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ ],
- "responses" : {
- "default" : {
- "description" : "successful operation"
- }
- },
- "x-accepts" : "application/json"
- }
- },
- "/user/{username}" : {
- "get" : {
- "tags" : [ "user" ],
- "summary" : "Get user by user name",
- "description" : "",
- "operationId" : "getUserByName",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "username",
- "in" : "path",
- "description" : "The name that needs to be fetched. Use user1 for testing. ",
- "required" : true,
- "type" : "string"
- } ],
- "responses" : {
- "200" : {
- "description" : "successful operation",
- "schema" : {
- "$ref" : "#/definitions/User"
- }
- },
- "400" : {
- "description" : "Invalid username supplied"
- },
- "404" : {
- "description" : "User not found"
- }
- },
- "x-accepts" : "application/json"
- },
- "put" : {
- "tags" : [ "user" ],
- "summary" : "Updated user",
- "description" : "This can only be done by the logged in user.",
- "operationId" : "updateUser",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "username",
- "in" : "path",
- "description" : "name that need to be deleted",
- "required" : true,
- "type" : "string"
- }, {
- "in" : "body",
- "name" : "body",
- "description" : "Updated user object",
- "required" : true,
- "schema" : {
- "$ref" : "#/definitions/User"
- }
- } ],
- "responses" : {
- "400" : {
- "description" : "Invalid user supplied"
- },
- "404" : {
- "description" : "User not found"
- }
- },
- "x-contentType" : "application/json",
- "x-accepts" : "application/json"
- },
- "delete" : {
- "tags" : [ "user" ],
- "summary" : "Delete user",
- "description" : "This can only be done by the logged in user.",
- "operationId" : "deleteUser",
- "produces" : [ "application/xml", "application/json" ],
- "parameters" : [ {
- "name" : "username",
- "in" : "path",
- "description" : "The name that needs to be deleted",
- "required" : true,
- "type" : "string"
- } ],
- "responses" : {
- "400" : {
- "description" : "Invalid username supplied"
- },
- "404" : {
- "description" : "User not found"
- }
- },
- "x-accepts" : "application/json"
- }
- }
- },
- "securityDefinitions" : {
- "petstore_auth" : {
- "type" : "oauth2",
- "authorizationUrl" : "http://petstore.swagger.io/api/oauth/dialog",
- "flow" : "implicit",
- "scopes" : {
- "write:pets" : "modify pets in your account",
- "read:pets" : "read your pets"
- }
- },
- "api_key" : {
- "type" : "apiKey",
- "name" : "api_key",
- "in" : "header"
- }
- },
- "definitions" : {
- "Order" : {
- "type" : "object",
- "properties" : {
- "id" : {
- "type" : "integer",
- "format" : "int64"
- },
- "petId" : {
- "type" : "integer",
- "format" : "int64"
- },
- "quantity" : {
- "type" : "integer",
- "format" : "int32"
- },
- "shipDate" : {
- "type" : "string",
- "format" : "date-time"
- },
- "status" : {
- "type" : "string",
- "description" : "Order Status",
- "enum" : [ "placed", "approved", "delivered" ]
- },
- "complete" : {
- "type" : "boolean",
- "default" : false
- }
- },
- "title" : "Pet Order",
- "description" : "An order for a pets from the pet store",
- "example" : {
- "petId" : 6,
- "quantity" : 1,
- "id" : 0,
- "shipDate" : "2000-01-23T04:56:07.000+00:00",
- "complete" : false,
- "status" : "placed"
- },
- "xml" : {
- "name" : "Order"
- }
- },
- "Category" : {
- "type" : "object",
- "properties" : {
- "id" : {
- "type" : "integer",
- "format" : "int64"
- },
- "name" : {
- "type" : "string"
- }
- },
- "title" : "Pet category",
- "description" : "A category for a pet",
- "example" : {
- "name" : "name",
- "id" : 6
- },
- "xml" : {
- "name" : "Category"
- }
- },
- "User" : {
- "type" : "object",
- "properties" : {
- "id" : {
- "type" : "integer",
- "format" : "int64"
- },
- "username" : {
- "type" : "string"
- },
- "firstName" : {
- "type" : "string"
- },
- "lastName" : {
- "type" : "string"
- },
- "email" : {
- "type" : "string"
- },
- "password" : {
- "type" : "string"
- },
- "phone" : {
- "type" : "string"
- },
- "userStatus" : {
- "type" : "integer",
- "format" : "int32",
- "description" : "User Status"
- }
- },
- "title" : "a User",
- "description" : "A User who is purchasing from the pet store",
- "example" : {
- "firstName" : "firstName",
- "lastName" : "lastName",
- "password" : "password",
- "userStatus" : 6,
- "phone" : "phone",
- "id" : 0,
- "email" : "email",
- "username" : "username"
- },
- "xml" : {
- "name" : "User"
- }
- },
- "Tag" : {
- "type" : "object",
- "properties" : {
- "id" : {
- "type" : "integer",
- "format" : "int64"
- },
- "name" : {
- "type" : "string"
- }
- },
- "title" : "Pet Tag",
- "description" : "A tag for a pet",
- "example" : {
- "name" : "name",
- "id" : 1
- },
- "xml" : {
- "name" : "Tag"
- }
- },
- "Pet" : {
- "type" : "object",
- "required" : [ "name", "photoUrls" ],
- "properties" : {
- "id" : {
- "type" : "integer",
- "format" : "int64"
- },
- "category" : {
- "$ref" : "#/definitions/Category"
- },
- "name" : {
- "type" : "string",
- "example" : "doggie"
- },
- "photoUrls" : {
- "type" : "array",
- "xml" : {
- "name" : "photoUrl",
- "wrapped" : true
- },
- "items" : {
- "type" : "string"
- }
- },
- "tags" : {
- "type" : "array",
- "xml" : {
- "name" : "tag",
- "wrapped" : true
- },
- "items" : {
- "$ref" : "#/definitions/Tag"
- }
- },
- "status" : {
- "type" : "string",
- "description" : "pet status in the store",
- "enum" : [ "available", "pending", "sold" ]
- }
- },
- "title" : "a Pet",
- "description" : "A pet for sale in the pet store",
- "example" : {
- "photoUrls" : [ "photoUrls", "photoUrls" ],
- "name" : "doggie",
- "id" : 0,
- "category" : {
- "name" : "name",
- "id" : 6
- },
- "tags" : [ {
- "name" : "name",
- "id" : 1
- }, {
- "name" : "name",
- "id" : 1
- } ],
- "status" : "available"
- },
- "xml" : {
- "name" : "Pet"
- }
- },
- "ApiResponse" : {
- "type" : "object",
- "properties" : {
- "code" : {
- "type" : "integer",
- "format" : "int32"
- },
- "type" : {
- "type" : "string"
- },
- "message" : {
- "type" : "string"
- }
- },
- "title" : "An uploaded response",
- "description" : "Describes the result of uploading an image resource",
- "example" : {
- "code" : 0,
- "type" : "type",
- "message" : "message"
- }
- }
- },
- "externalDocs" : {
- "description" : "Find out more about Swagger",
- "url" : "http://swagger.io"
- }
-}
\ No newline at end of file