Products Service with Go lang
Small CRUD application with Go, using Fiber + GORM.
GET /products
List all products
Response:
[
{
"id": 1,
"code": "USD187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
},
{
"id": 2,
"code": "USD187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
},
{
"id": 3,
"code": "USD187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
},
{
"id": 5,
"code": "BRL1187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
},
{
"id": 6,
"code": "FOO187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
},
{
"id": 7,
"code": "FOO187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
},
{
"id": 8,
"code": "FOO187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
},
{
"id": 2002,
"code": "BRL1187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
}
]
GET /products/:id
List specific product
Response
{
"id": 1,
"code": "USD187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
}
POST /products
Creates a new product
Body
{
"price": 43.90,
"code": "FOO187",
"discount": 10.0,
"store_id": 1
}
Response
{
"id": 8,
"code": "FOO187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
}
PUT /products/:id
Updates a product
Body
{
"price": 43.90,
"code": "BRL1187",
"discount": 10.0
}
Response
{
"id": 5,
"code": "BRL1187",
"name": "",
"price": 43.9,
"discount": 10,
"store_id": 1,
"store": {
"id": 1,
"name": "Foo Store",
"Open": true
}
}
DELETE /products/:id
Delete a product
Response
Status: OK