mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-08 08:30:56 +00:00
[AspnetCore Server] Added Original swagger (#7170)
* Updated Codegenerator as well as added new swagger-original mustache template * updated Startup.cs template to provide guidance for original Swagger file * Updated Sample
This commit is contained in:
parent
81c0e81c77
commit
5e4d363675
@ -1,15 +1,20 @@
|
||||
package io.swagger.codegen.languages;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
import com.samskivert.mustache.Mustache;
|
||||
import io.swagger.codegen.CodegenConstants;
|
||||
import io.swagger.codegen.CodegenOperation;
|
||||
import io.swagger.codegen.CodegenType;
|
||||
import io.swagger.codegen.SupportingFile;
|
||||
|
||||
import io.swagger.codegen.*;
|
||||
import io.swagger.models.*;
|
||||
import io.swagger.util.Json;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import static java.util.UUID.randomUUID;
|
||||
|
||||
@ -126,6 +131,8 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
supportingFiles.add(new SupportingFile("wwwroot" + File.separator + "README.md", packageFolder + File.separator + "wwwroot", "README.md"));
|
||||
supportingFiles.add(new SupportingFile("wwwroot" + File.separator + "index.html", packageFolder + File.separator + "wwwroot", "index.html"));
|
||||
supportingFiles.add(new SupportingFile("wwwroot" + File.separator + "web.config", packageFolder + File.separator + "wwwroot", "web.config"));
|
||||
|
||||
supportingFiles.add(new SupportingFile("wwwroot" + File.separator + "swagger-original.mustache", packageFolder + File.separator + "wwwroot", "swagger-original.json"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -155,6 +162,21 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
return outputFolder + File.separator + sourceFolder + File.separator + packageName + File.separator + "Models";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> postProcessSupportingFileData(Map<String, Object> objs) {
|
||||
Swagger swagger = (Swagger)objs.get("swagger");
|
||||
if(swagger != null) {
|
||||
try {
|
||||
objs.put("swagger-json", Json.pretty().writeValueAsString(swagger).replace("\r\n", "\n"));
|
||||
} catch (JsonProcessingException e) {
|
||||
LOGGER.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
return super.postProcessSupportingFileData(objs);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void processOperation(CodegenOperation operation) {
|
||||
super.processOperation(operation);
|
||||
|
@ -93,7 +93,11 @@ namespace {{packageName}}
|
||||
.UseSwagger()
|
||||
.UseSwaggerUI(c =>
|
||||
{
|
||||
//TODO: Either use the SwaggerGen generated Swagger contract (generated from C# classes)
|
||||
c.SwaggerEndpoint("/swagger/{{#version}}{{{version}}}{{/version}}{{^version}}v1{{/version}}/swagger.json", "{{#appName}}{{{appName}}}{{/appName}}{{^appName}}{{packageName}}{{/appName}}");
|
||||
|
||||
//TODO: Or alternatively use the original Swagger contract that's included in the static files
|
||||
// c.SwaggerEndpoint("/swagger-original.json", "{{#appName}}{{{appName}}}{{/appName}}{{^appName}}{{packageName}}{{/appName}} Original");
|
||||
});
|
||||
|
||||
if (env.IsDevelopment())
|
||||
|
@ -0,0 +1 @@
|
||||
{{{swagger-json}}}
|
@ -100,7 +100,11 @@ namespace IO.Swagger
|
||||
.UseSwagger()
|
||||
.UseSwaggerUI(c =>
|
||||
{
|
||||
//TODO: Either use the SwaggerGen generated Swagger contract (generated from C# classes)
|
||||
c.SwaggerEndpoint("/swagger/1.0.0/swagger.json", "Swagger Petstore");
|
||||
|
||||
//TODO: Or alternatively use the original Swagger contract that's included in the static files
|
||||
// c.SwaggerEndpoint("/swagger-original.json", "Swagger Petstore Original");
|
||||
});
|
||||
|
||||
if (env.IsDevelopment())
|
||||
|
@ -0,0 +1,879 @@
|
||||
{
|
||||
"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" ]
|
||||
} ]
|
||||
},
|
||||
"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" ]
|
||||
} ]
|
||||
}
|
||||
},
|
||||
"/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",
|
||||
"enum" : [ "available", "pending", "sold" ],
|
||||
"default" : "available"
|
||||
},
|
||||
"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" ]
|
||||
} ]
|
||||
}
|
||||
},
|
||||
"/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
|
||||
}
|
||||
},
|
||||
"/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" : [ ]
|
||||
} ]
|
||||
},
|
||||
"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" ]
|
||||
} ]
|
||||
},
|
||||
"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" ]
|
||||
} ]
|
||||
}
|
||||
},
|
||||
"/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" ]
|
||||
} ]
|
||||
}
|
||||
},
|
||||
"/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" : [ ]
|
||||
} ]
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"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" : {
|
||||
"id" : 0,
|
||||
"petId" : 6,
|
||||
"complete" : false,
|
||||
"status" : "placed",
|
||||
"quantity" : 1,
|
||||
"shipDate" : "2000-01-23T04:56:07.000+00:00"
|
||||
},
|
||||
"xml" : {
|
||||
"name" : "Order"
|
||||
}
|
||||
},
|
||||
"Category" : {
|
||||
"type" : "object",
|
||||
"properties" : {
|
||||
"id" : {
|
||||
"type" : "integer",
|
||||
"format" : "int64"
|
||||
},
|
||||
"name" : {
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"title" : "Pet catehgry",
|
||||
"description" : "A category for a pet",
|
||||
"example" : {
|
||||
"id" : 6,
|
||||
"name" : "name"
|
||||
},
|
||||
"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" : {
|
||||
"id" : 0,
|
||||
"lastName" : "lastName",
|
||||
"phone" : "phone",
|
||||
"username" : "username",
|
||||
"email" : "email",
|
||||
"userStatus" : 6,
|
||||
"firstName" : "firstName",
|
||||
"password" : "password"
|
||||
},
|
||||
"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" : {
|
||||
"id" : 1,
|
||||
"name" : "name"
|
||||
},
|
||||
"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" : {
|
||||
"tags" : [ {
|
||||
"id" : 1,
|
||||
"name" : "name"
|
||||
}, {
|
||||
"id" : 1,
|
||||
"name" : "name"
|
||||
} ],
|
||||
"id" : 0,
|
||||
"category" : {
|
||||
"id" : 6,
|
||||
"name" : "name"
|
||||
},
|
||||
"status" : "available",
|
||||
"name" : "doggie",
|
||||
"photoUrls" : [ "photoUrls", "photoUrls" ]
|
||||
},
|
||||
"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" : {
|
||||
"message" : "message",
|
||||
"code" : 0,
|
||||
"type" : "type"
|
||||
}
|
||||
}
|
||||
},
|
||||
"externalDocs" : {
|
||||
"description" : "Find out more about Swagger",
|
||||
"url" : "http://swagger.io"
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user