package
4.0.0-beta2+incompatible
Repository: https://github.com/volatiletech/openapi-generator.git
Documentation: pkg.go.dev

# README

Go API Server for petstoreserver

This is a sample server Petstore server. For this sample, you can use the api key special-key to test the authorization filters.

Overview

This server was generated by the [openapi-generator] (https://openapi-generator.tech) project. By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.

To see how to make this your own, look here:

README

  • API version: 1.0.0

Running the server

To run the server, follow these simple steps:

go run main.go

To run the server in a docker container

docker build --network=host -t petstoreserver .

Once image is built use

docker run --rm -it petstoreserver 

Known Issue

The endpoint /v2/pet/findByTags and /v2/pet/:petId are conflict with gin. This is a known issue of gin. Please refer gin-gonic/gin#388

You can manually fix it by updating the path and handler. Please refer gin-gonic/gin/issues/205#issuecomment-296155497 and an example below.

routers.go

var routes = Routes{
	{
		"Index",
		"GET",
		"/v2/",
		Index,
	},

-	{
-		"FindPetsByTags",
-		strings.ToUpper("Get"),
-		"/v2/pet/findByTags",
-		FindPetsByTags,
-	},

	{
		"GetPetById",
		strings.ToUpper("Get"),
		"/v2/pet/:petId",
		GetPetById,
	},
}

api_pet.go

// GetPetById - Find pet by ID
func GetPetById(c *gin.Context) {
-       c.JSON(http.StatusOK, gin.H{})
+       petId := c.Param("petId")
+
+       if petId == "findByTags" {
+               FindPetsByTags(c)
+       } else {
+               c.JSON(http.StatusOK, gin.H{})
+       }
}

# Functions

AddPet - Add a new pet to the store.
CreateUser - Create user.
CreateUsersWithArrayInput - Creates list of users with given input array.
CreateUsersWithListInput - Creates list of users with given input array.
DeleteOrder - Delete purchase order by ID.
DeletePet - Deletes a pet.
DeleteUser - Delete user.
FindPetsByStatus - Finds Pets by status.
FindPetsByTags - Finds Pets by tags.
GetInventory - Returns pet inventories by status.
GetOrderById - Find purchase order by ID.
GetPetById - Find pet by ID.
GetUserByName - Get user by user name.
Index is the index handler.
LoginUser - Logs user into the system.
LogoutUser - Logs out current logged in user session.
NewRouter returns a new router.
PlaceOrder - Place an order for a pet.
UpdatePet - Update an existing pet.
UpdatePetWithForm - Updates a pet in the store with form data.
UpdateUser - Updated user.
UploadFile - uploads an image.

# Structs

ApiResponse - Describes the result of uploading an image resource.
Category - A category for a pet.
Order - An order for a pets from the pet store.
Pet - A pet for sale in the pet store.
Route is the information for every URI.
Tag - A tag for a pet.
User - A User who is purchasing from the pet store.

# Type aliases

Routes is the list of the generated Route.