https://github.com/hqr999/golang-chi-api
An API in Go using the chi library
https://github.com/hqr999/golang-chi-api
go-chi golang rest-api
Last synced: 9 months ago
JSON representation
An API in Go using the chi library
- Host: GitHub
- URL: https://github.com/hqr999/golang-chi-api
- Owner: hqr999
- License: gpl-3.0
- Created: 2025-09-22T14:47:49.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-28T20:35:39.000Z (9 months ago)
- Last Synced: 2025-09-28T22:14:26.017Z (9 months ago)
- Topics: go-chi, golang, rest-api
- Language: Go
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# API Livros com Go
Esse projeto é uma implementação de uma API que devolve livros. Esse projeto foi feito usando a ótima biblioteca HTTP chi em Golang.
O programa faz as 4 operações básicas de uma API Rest, também chamado de **CRUD**. Nossa API portanto é capaz de:
* CREATE=Cria uma nova instância do livro.
* READ=Lê as saídas dos nossos livros que foram cadastrados.
* UPDATE=Atualiza algum livro se passarmos uma id válida
* Delete=Deleta algum livro se passarmos uma id válida
Nossa aplicação começa já lendo um arquivo .json já com alguns livros.Vocês os verá quando fizer o seu comando **GET**.
# Como Rodar
Abra dois terminais, um para abrir e deixar rodando o servidor e o outro para.
## No primeiro terminal rode:
> go run main.go
Cada fez que você fizer um comando http, ele aparecerá enquanto o servidor estiver rodando.
## No segundo terminal rode:
Cada um dos comandos usa o comando curl e faz um dos comandos http, você também pode usar o POSTMAN ou outra plataforma de API.Você pode rodar os seguintes comandos com o curl:
* **GET**
> curl -s localhost:3000/livros | jq .
* **POST**
> curl -X POST \
-H "Content-Type: application/json" \
-d '{"id": "10","title": "Introduction to Logic and the Metodology of Deductive Sciences","autor": "Alfred Tarski","data_publicacao": "1941", "lingua_original": "Polonês"}' \
localhost:3000/livros
* **DELETE**
> curl -X DELETE localhost:3000/livros/{id}
* **PUT**
> curl -X POST \
-H "Content-Type: application/json" \
-d '{"id": "número","title": "título","autor": "autor","data_publicacao": "ano", "lingua_original": "língua"}' \
localhost:3000/livros/{id}
# Referências
https://go-chi.io/#/
https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm