chore: add docs to swagger and add pass handlers
All checks were successful
Backend ci / build (push) Successful in 7m15s

This commit is contained in:
d3m0k1d
2026-02-03 19:26:49 +03:00
parent d98f7080eb
commit 440b836d54
6 changed files with 429 additions and 5 deletions

View File

@@ -14,7 +14,139 @@ const docTemplate = `{
},
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {}
"paths": {
"/api/v1/posts": {
"get": {
"description": "Get all posts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Get all posts",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/storage.Post"
}
}
}
}
},
"post": {
"description": "Create post",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Create post",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
}
},
"/api/v1/posts/{id}": {
"get": {
"description": "Get post by id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Get post by id",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
},
"put": {
"description": "Update post",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Update post",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
},
"delete": {
"description": "Delete post",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Delete post",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
}
}
},
"definitions": {
"storage.Post": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"title": {
"type": "string"
}
}
}
}
}`
// SwaggerInfo holds exported Swagger Info so clients can modify it

View File

@@ -3,5 +3,137 @@
"info": {
"contact": {}
},
"paths": {}
"paths": {
"/api/v1/posts": {
"get": {
"description": "Get all posts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Get all posts",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/storage.Post"
}
}
}
}
},
"post": {
"description": "Create post",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Create post",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
}
},
"/api/v1/posts/{id}": {
"get": {
"description": "Get post by id",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Get post by id",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
},
"put": {
"description": "Update post",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Update post",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
},
"delete": {
"description": "Delete post",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"posts"
],
"summary": "Delete post",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/storage.Post"
}
}
}
}
}
},
"definitions": {
"storage.Post": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "integer"
},
"title": {
"type": "string"
}
}
}
}
}

View File

@@ -1,4 +1,90 @@
definitions:
storage.Post:
properties:
content:
type: string
createdAt:
type: string
id:
type: integer
title:
type: string
type: object
info:
contact: {}
paths: {}
paths:
/api/v1/posts:
get:
consumes:
- application/json
description: Get all posts
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/storage.Post'
type: array
summary: Get all posts
tags:
- posts
post:
consumes:
- application/json
description: Create post
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/storage.Post'
summary: Create post
tags:
- posts
/api/v1/posts/{id}:
delete:
consumes:
- application/json
description: Delete post
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/storage.Post'
summary: Delete post
tags:
- posts
get:
consumes:
- application/json
description: Get post by id
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/storage.Post'
summary: Get post by id
tags:
- posts
put:
consumes:
- application/json
description: Update post
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/storage.Post'
summary: Update post
tags:
- posts
swagger: "2.0"