# README
crud-api-service-sample
Sample Golang JSON API service built with Gin and Entgo.
🍕🍕🍕
Requirements
In order to run service the following is required:
- Golang (tested with 1.16)
- Make (in order to use Makefile commands)
- Docker (to run database in container)
Commands
make run
to run service locallymake test
to run testsmake lint
to run linters (golangci-lint)make check
to run both tests and lintersmake build
to build service binarymake db
to start dev database (with docker)make entgen
regenerate entgo files
Configuration
Configuration is passed as an argument e.g. go run cmd/app/main.go ./configs/dev.yml
. Database URI, environment and server parameters can be specified in this file.
Methods
Standart responses and empty requests are not shown here.
/api/v1/createPizza
Request
{
"title": "Fiery",
"price": 77700,
"dougn": "thick",
"description": "as spicy as expensive"
}
/api/v1/updatePizza
Title is immutable and can not be updated.
Request
{
"id": 13,
"price": 600,
"dough": "thin",
"description": "Now chean and thin"
}
/api/v1/getPizzas
Response
{
"pizzas": [
{
"id": 1,
"title": "Fiery",
"price": 77700,
"description": "as spicy as expensive",
"dough": "thick"
},
{
"id": 2,
"title": "Carbonara",
"price": 1000,
"description": "best pizza",
"dough": "thin"
}
]
}
/api/v1/getPizzaByID
Request
{
"id": 1
}
Response
{
"id": 1,
"title": "Fiery",
"price": 77700,
"description": "as spicy as expensive",
"dough": "thick"
}
/api/v1/deletePizzaByID
Request
{
"id": 9
}
# Packages
No description provided by the author