GORM with PostgreSQL Example
This project demonstrates how to set up a Go application using the Fiber framework with GORM and PostgreSQL.
Prerequisites
Ensure you have the following installed:
Setup
-
Clone the repository:
git clone https://github.com/gofiber/recipes.gitcd recipes/gorm-postgres -
Install dependencies:
go mod tidy -
Set up PostgreSQL and create a database:
createdb go-db -
Configure the database connection via the
DB_DSNenvironment variable:export DB_DSN="host=localhost user=postgres password='' dbname=go-db port=5432 sslmode=disable"If
DB_DSNis not set, the application falls back to the default DSN above.
Running the Application
-
Start the application:
go run main.go -
Access the application at
http://localhost:3000.
Endpoints
| Method | URL | Description |
|---|---|---|
| GET | /hello | Returns a hello message |
| GET | /allbooks | Retrieves all books |
| GET | /book/:id | Retrieves a book by ID |
| POST | /book | Creates a new book |
| PUT | /book/:id | Updates an existing book |
| DELETE | /book/:id | Deletes a book |
Example Requests
Get All Books
curl -X GET http://localhost:3000/allbooks
Get Book by ID
curl -X GET http://localhost:3000/book/1
Create a New Book
curl -X POST http://localhost:3000/book \
-d '{"title": "New Book", "author": "Author Name"}' \
-H "Content-Type: application/json"
Update a Book
curl -X PUT http://localhost:3000/book/1 \
-d '{"title": "Updated Book", "author": "Updated Author"}' \
-H "Content-Type: application/json"
Delete a Book
curl -X DELETE http://localhost:3000/book/1