feat: support for gzip middleware (#53)
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/swaggo/swag/example/basic/web"
|
||||
)
|
||||
|
||||
//
|
||||
// @Summary Add a new pet to the store
|
||||
// @Description get string by ID
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param some_id path int true "Some ID"
|
||||
// @Success 200 {string} string "ok"
|
||||
// @Failure 400 {object} web.APIError "We need ID!!"
|
||||
// @Failure 404 {object} web.APIError "Can not find ID"
|
||||
// @Router /testapi/get-string-by-int/{some_id} [get]
|
||||
func GetStringByInt(c *gin.Context) {
|
||||
err := web.APIError{}
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
// @Description get struct array by ID
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param some_id path string true "Some ID"
|
||||
// @Param offset query int true "Offset"
|
||||
// @Param limit query int true "Offset"
|
||||
// @Success 200 {string} string "ok"
|
||||
// @Failure 400 {object} web.APIError "We need ID!!"
|
||||
// @Failure 404 {object} web.APIError "Can not find ID"
|
||||
// @Router /testapi/get-struct-array-by-string/{some_id} [get]
|
||||
func GetStructArrayByString(c *gin.Context) {
|
||||
|
||||
}
|
||||
|
||||
type Pet3 struct {
|
||||
ID int `json:"id"`
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||||
// This file was generated by swaggo/swag at
|
||||
// 2017-06-25 01:25:37.872454531 +0800 CST
|
||||
|
||||
package docs
|
||||
|
||||
import (
|
||||
"github.com/swaggo/swag"
|
||||
)
|
||||
|
||||
var doc = `{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"description": "This is a sample server Petstore server.",
|
||||
"title": "Swagger Example API",
|
||||
"termsOfService": "http://swagger.io/terms/",
|
||||
"contact": {
|
||||
"name": "API Support",
|
||||
"url": "http://www.swagger.io/support",
|
||||
"email": "support@swagger.io"
|
||||
},
|
||||
"license": {
|
||||
"name": "Apache 2.0",
|
||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
},
|
||||
"version": "1.0"
|
||||
},
|
||||
"host": "petstore.swagger.io",
|
||||
"basePath": "/v2",
|
||||
"paths": {
|
||||
"/testapi/get-string-by-int/{some_id}": {
|
||||
"get": {
|
||||
"description": "get string by ID",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"summary": "Add a new pet to the store",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Some ID",
|
||||
"name": "some_id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "ok",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "We need ID!!",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"$ref": "#/definitions/web.APIError"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Can not find ID",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"$ref": "#/definitions/web.APIError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/testapi/get-struct-array-by-string/{some_id}": {
|
||||
"get": {
|
||||
"description": "get struct array by ID",
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Some ID",
|
||||
"name": "some_id",
|
||||
"in": "path",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"description": "Offset",
|
||||
"name": "offset",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "int"
|
||||
}
|
||||
},
|
||||
{
|
||||
"description": "Offset",
|
||||
"name": "limit",
|
||||
"in": "query",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "ok",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "We need ID!!",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"$ref": "#/definitions/web.APIError"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Can not find ID",
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"$ref": "#/definitions/web.APIError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"web.APIError": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"ErrorCode": {
|
||||
"type": "int"
|
||||
},
|
||||
"ErrorMessage": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`
|
||||
|
||||
type s struct{}
|
||||
|
||||
func (s *s) ReadDoc() string {
|
||||
return doc
|
||||
}
|
||||
func init() {
|
||||
swag.Register(swag.Name, &s{})
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/swaggo/gin-swagger"
|
||||
"github.com/swaggo/gin-swagger/swaggerFiles"
|
||||
|
||||
_ "github.com/swaggo/gin-swagger/example/basic/docs"
|
||||
)
|
||||
|
||||
// @title Swagger Example API
|
||||
// @version 1.0
|
||||
// @description This is a sample server Petstore server.
|
||||
// @termsOfService http://swagger.io/terms/
|
||||
|
||||
// @contact.name API Support
|
||||
// @contact.url http://www.swagger.io/support
|
||||
// @contact.email support@swagger.io
|
||||
|
||||
// @license.name Apache 2.0
|
||||
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
|
||||
// @host petstore.swagger.io
|
||||
// @BasePath /v2
|
||||
func main() {
|
||||
r := gin.New()
|
||||
|
||||
url := ginSwagger.URL("http://localhost:8080/swagger/doc.json") //The url pointing to API definition
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))
|
||||
|
||||
r.Run()
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package web
|
||||
|
||||
// @hello
|
||||
// yo yo yo yo
|
||||
type Pet struct {
|
||||
ID int `json:"id"`
|
||||
Category struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
} `json:"category"`
|
||||
Name string `json:"name"`
|
||||
PhotoUrls []string `json:"photoUrls"`
|
||||
Tags []struct {
|
||||
ID int `json:"id"`
|
||||
Name string `json:"name"`
|
||||
} `json:"tags"`
|
||||
Status string `json:"status"`
|
||||
}
|
||||
|
||||
type Pet2 struct {
|
||||
ID int `json:"id"`
|
||||
}
|
||||
|
||||
type APIError struct {
|
||||
ErrorCode int
|
||||
ErrorMessage string
|
||||
}
|
||||
Reference in New Issue
Block a user