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.
exemplos de JSON a serem enviados pelo corpo da requisição.
## object
{
"attribute: "value",
"attribute": [{
"attribute: "value",
}]
}
## array
[
{
"attribute: "value",
},
{
"attribute: "value",
}
]
passando dados pela URL.
/example?attribute=value&attribute=value
STATUS = 403, 404, 407, 500 => {
"code": integer,
"message": string,
"mid": string,
}
criando um nova categoria
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
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
type
method
queries
-
GET
attribute name
type
size
is it required?
description
mid
string
-
false
mensagem da resposta caso o codigo http seja 200
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
type
method
queries
-
GET
attribute name
type
size
is it required?
description
mid
string
-
false
mensagem da resposta caso o codigo http seja 200
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
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
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
type
method
queries
-
DELETE
attribute name
type
size
is it required?
description
mid
string
-
false
mensagem da resposta caso o codigo http seja 200
request
type
status
body
object
200
attribute name
type
description
mid
string
mensagem da resposta caso o codigo http seja 200
criando um nova notícia
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
request
type
status
body
object
200
attribute name
type
description
mid
string
mensagem da resposta caso o codigo http seja 200
listando todas as noticias
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
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
type
method
queries
-
GET
attribute name
type
size
is it required?
description
mid
string
-
false
mensagem da resposta caso o codigo http seja 200
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
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
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
type
method
queries
-
DELETE
attribute name
type
size
is it required?
description
mid
string
-
false
mensagem da resposta caso o codigo http seja 200
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
type
method
queries
-
GET
attribute name
type
size
is it required?
description
mid
string
-
false
mensagem da resposta caso o codigo http seja 200
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.