https://github.com/jonathan-foucher/go-api-example
An example of API with Go
https://github.com/jonathan-foucher/go-api-example
go sqlc
Last synced: 10 months ago
JSON representation
An example of API with Go
- Host: GitHub
- URL: https://github.com/jonathan-foucher/go-api-example
- Owner: jonathan-foucher
- Created: 2024-11-02T13:30:05.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-06T22:25:09.000Z (about 1 year ago)
- Last Synced: 2025-01-26T03:09:57.509Z (12 months ago)
- Topics: go, sqlc
- Language: Go
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Introduction
This project is an example of a Go API with sqlc and a postgres database.
## Run the project
### Database
Install postgres locally or run it through docker with :
```
docker run -p 5432:5432 -e POSTGRES_DB=my_database -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres postgres
```
You will need to run the this request to create the movie table :
```
create table movie (
id integer primary key,
title varchar(50) not null,
release_date date not null
);
```
### Application
Once the postgres database is started and the movie table created, you can start the Go project and try it out.
Start the application
```
go run main.go
```
Get all the movies
```
curl --location 'http://localhost:3000/api/movies'
```
Save a movie
```
curl --request POST \
--url http://localhost:3000/api/movies \
--header 'Content-Type: application/json' \
--data '{
"id": 26,
"title": "Some movie title",
"release_date": "2022-02-26"
}'
```
Delete a movie
```
curl --request DELETE \
--url http://localhost:3000/api/movies/26
```