Skip to content

johnHPX/Sistema-de-noticias-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema De Notícias - Back-End

Uma api feita baseada em uma prova para desenvolvedores juniors da DevMedia, onde originalmente era para ter sindo feito com php e mysql. Eu fiz com go e postgrsql e acresentei mais coisas no que tinha na ideia original. Essas melhorias foram feitas com objetivo de testar meus conhecimentos.

Estrutura das requisições e respostas

Os dados de qualquer requisição ou resposta desta API será transferidos pelo formato JSON.

- BODY

exemplos de JSON a serem enviados pelo corpo da requisição.

## object

{
  "attribute: "value",
  "attribute": [{
    "attribute: "value",
  }]
}

## array

[
  {
    "attribute: "value",
  },
  {
    "attribute: "value",
  }
]

- queries

passando dados pela URL.

/example?attribute=value&attribute=value

Estrutura de erros

STATUS = 403, 404, 407, 500 => { "code": integer, "message": string, "mid": string, }

Rotas

1. [HOST:PORT]/categoria

criando um nova categoria

- Request

request type method
body object POST
attribute name type size is it required? description
kind string 255 true tipo da categoria
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
mid string mensagem da resposta caso o codigo http seja 200

2. [HOST:PORT]/categorias

listando categorias

- Request

request type method
queries - GET
attribute name type size is it required? description
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
count int numero linhas trazidas do database
categorias []Categoria array de categorias
mid string mensagem da resposta caso o codigo http seja 200
Categoria type description
id string id da categoria
kind string tipo da categoria

3. [HOST:PORT]/categoria/{id}/find

buscando uma categoria por id de categoria

- Request

request type method
queries - GET
attribute name type size is it required? description
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
id string id da categoria
kind string tipo da categoria
mid string mensagem da resposta caso o codigo http seja 200

4. [HOST:PORT]/categoria/{id}/update

atualizando uma categoria por id de categoria

- Request

request type method
body object PUT
attribute name type size is it required? description
kind string 255 true tipo da categoria
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
mid string mensagem da resposta caso o codigo http seja 200

5. [HOST:PORT]/categoria/{id}/remove

deletando uma categoria por id de categoria

- Request

request type method
queries - DELETE
attribute name type size is it required? description
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
mid string mensagem da resposta caso o codigo http seja 200

6. [HOST:PORT]/noticia

criando um nova notícia

- Request

request type method
body object POST
attribute name type size is it required? description
titulo string 255 true titulo da notícia
conteudos []conteudo - true topicos da notícia
categoria string 100 true categoria da notícia
mid string - false mensagem da resposta caso o codigo http seja 200
conteudo type size is it required? description
subTitulo string 255 true subtitulo da notícia(titulo do topico)
texto string 5000 true texto do topico

- Response

request type status
body object 200
attribute name type description
mid string mensagem da resposta caso o codigo http seja 200

7. [HOST:PORT]/noticias

listando todas as noticias

- Request

request type method
queries - GET
attribute name type size is it required? description
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
count int numero linhas trazidas do database
noticias []Noticias array de noticias
mid string mensagem da resposta caso o codigo http seja 200
Noticias type description
id string id da noticia
titulo string titulo da notícia
conteudos []conteudo topicos da notícia
categoria string categoria da notícia
conteudo type description
subTitulo string subtitulo da notícia(titulo do topico)
texto string texto do topico

8. [HOST:PORT]/noticia/{titCat}/list

listando noticias por titulo ou categoria

- Request

request type method
queries - GET
attribute name type size is it required? description
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
count int numero linhas trazidas do database
noticias []Noticias array de noticias
mid string mensagem da resposta caso o codigo http seja 200
Noticias type description
id string id da noticia
titulo string titulo da notícia
conteudos []conteudo topicos da notícia
categoria string categoria da notícia
conteudo type description
subTitulo string subtitulo da notícia(titulo do topico)
texto string texto do topico

9. [HOST:PORT]/noticia/{nid}/update

atualizando uma noticia por id de noticia

- Request

request type method
body object PUT
attribute name type size is it required? description
titulo string 255 true titulo da notícia
conteudos []conteudo - true topicos da notícia
categoria string 100 true categoria da notícia
mid string - false mensagem da resposta caso o codigo http seja 200
conteudo type size is it required? description
cid string 36 true id do conteudo
subTitulo string 255 true subtitulo da notícia(titulo do topico)
texto string 5000 true texto do topico

- Response

request type status
body object 200
attribute name type description
mid string mensagem da resposta caso o codigo http seja 200

10. [HOST:PORT]/noticia/{nid}/remove

deletando uma noticia por id de noticia

- Request

request type method
queries - DELETE
attribute name type size is it required? description
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
mid string mensagem da resposta caso o codigo http seja 200

11. [HOST:PORT]/noticia/{id}/find

buscando uma noticia pelo seu id

- Request

request type method
queries - GET
attribute name type size is it required? description
mid string - false mensagem da resposta caso o codigo http seja 200

- Response

request type status
body object 200
attribute name type description
id string id da noticia
titulo string titulo da notícia
conteudos []conteudo topicos da notícia
categoria string categoria da notícia
mid string mensagem da resposta caso o codigo http seja 200
conteudo type description
subTitulo string subtitulo da notícia(titulo do topico)
texto string texto do topico

the end! made by Jonatas.

About

Um sistema para gerenciar noticias, feito com Golang.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published