A API "CódiGourmet" representa o coração de um projeto acadêmico apaixonante, criado para atender às necessidades dos entusiastas da culinária. Desenvolvido com o objetivo de fornecer uma plataforma onde amantes da cozinha possam compartilhar suas receitas favoritas e explorar uma infinidade de outras criações culinárias, o aplicativo CódiGourmet está destinado a se tornar um recurso essencial para todos os amantes da arte de cozinhar.
Este documento tem como objetivo orientar os desenvolvedores no uso eficiente e eficaz da API CódiGourmet. Aqui, você encontrará informações detalhadas sobre como acessar e utilizar os recursos oferecidos pela API, para que você possa integrá-los em seus próprios aplicativos, estendendo as fronteiras da culinária digital.
Nossa API foi projetada para tornar a vida dos desenvolvedores mais simples, permitindo que você aproveite todo o potencial do CódiGourmet e crie experiências culinárias únicas para sua audiência. Seja bem-vindo à jornada de descoberta e inovação na culinária digital com a API CódiGourmet. Vamos começar a explorar todas as deliciosas possibilidades!
- Gerenciamento de Conta: Crie e gerencie sua conta de forma segura, sem custos. Tenha controle total sobre seus dados, permitindo a visualização, edição e exclusão de informações.
- Funcionalidades Culinárias: Desperte seu talento na cozinha! Crie, armazene e compartilhe suas receitas exclusivas. Guarde suas favoritas e personalize as receitas de acordo com seu gosto.
A API "CódiGourmet" foi desenvolvida com a simplicidade e flexibilidade em mente, oferecendo uma experiência agradável aos amantes da culinária.
https://codigourmet-api.vercel.app/usuarios
-
Método suportados: GET, POST, PUT e DELETE
-
Parâmetros de consulta: para usar os métodos GET, PUT, e DELETE é necessário passar o id do usuário para executar as respectivas operações de “Ler dados”, “Alterar dados” e “Excluir dados”. exemplo de URL: https://codigourmet-api.vercel.app/usuarios/id
-
Exemplos de código:
-
GET
async function buscarUsuario(id, token) { try { // Essa rota de API é privada, portanto é necessário passar o token de autorização const requisicao = await fetch(`https://codigourmet-api.vercel.app/usuarios/${id}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` } }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
POST
async function cadastro(nome, sobrenome, email, senha){ try { const usuario = {nome, sobrenome, email, senha} const requisicao = await fetch(`https://codigourmet-api.vercel.app/usuarios`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(usuario) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
PUT
async function editar(id, token, nome, sobrenome){ try { const usuario = {nome, sobrenome} const requisicao = await fetch(`https://codigourmet-api.vercel.app/usuarios${id}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` }, body: JSON.stringify(usuario) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
DELETE
async function excluirUsuario(id, token) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/usuarios/${id}`, { method: 'DELETE', headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` } }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
-
Respostas da API:
-
GET - Buscar dados do usuário (É necessário estar autenticado para realizar a busca).
{ "msg": "OK", "status": "success", "dados": { "id": "652e5cc6bf553aded1bbef46", "nome": "Nathan", "sobrenome": "De Sousa Barros", "email": "nathansousa0809@gmail.com", "receitasFavoritas": [ "652e5fe9bf553aded1bbef54", "652e602dbf553aded1bbef58" ] } } -
POST - Cadastrar um Usuário
{ "msg": "Usuário cadastrado com sucesso!", "status": "success" } -
PUT - Editar dados do usuário (É necessário estar autenticado para realizar essa tarefa).
{ "msg": "Usuário editado com sucesso!", "status": "success" } -
DELETE - Deletar conta (É necessário estar autenticado para realizar essa tarefa).
{ "msg": "Usuário deletado com sucesso", "status": "success" }
-
-
Métodos suportados: POST.
-
Parâmetros de consulta: Nenhum.
-
Exemplos de código:
async function login(email, senha){ // Objeto necessário para passar no corpo da requisição const usuario = { email: email, senha: senha } try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/usuarios/login`, { method: 'POST', headers:{ 'Content-Type': 'application/json', }, body: JSON.stringify(usuario) }); const resposta = await requisicao.json(); console.log(resposta); return resposta; } catch (error) { console.log(error); } }
-
Resposta da API:
-
POST - Realizar o login (É necessário passar o e-mail e a senha no corpo da requisição.)
{ "msg": "Bem-vindo(a) Nathan", "status": "success", "dados": { "id": "652e5cc6bf553aded1bbef46", "nome": "Nathan", "sobrenome": "De Sousa Barros", "email": "nathansousa0809@gmail.com", "receitasFavoritas": [ "652e5fe9bf553aded1bbef54", "652e602dbf553aded1bbef58" ] }, "token": "seu token de autenticação" }
-
-
Métodos suportados: GET, POST, PUT e DELETE.
-
Parâmetros de consulta: para usar os métodos GET, PUT, e DELETE é necessário passar o id do evento para executar as respectivas operações de “Ler dados”, “Editar dados” e “Excluir dados”. exemplo de URL: https://codigourmet-api.vercel.app/receitas/id
-
OBS: Para acessar essa rota é preciso estar autenticado.
-
Exemplos de código:
-
GET: (Essa requisição também aceita um parâmetro opcional na url para receber receitas com nome específico. Caso não tenha parâmetro ela retorna algumas receitas aleatórias.)
async function receitas(token) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas?nome=lasanha`, { method: "GET", headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` } }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
GET: (Buscar dados de uma receita em específico)
async function buscarReceitas(id, token) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/${id}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` } }); const resposta = requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
POST
async function criarReceita(token, nome, idCriador, ingredientes, modoPreparo, tempo) { try { // Objeto com os dados a serem mandados const receita = {nome, idCriador, ingredientes, modoPreparo, tempo} const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'authorizathion': `Bearer ${token}` }, body: JSON.stringify(receita) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
PUT
async function editarReceita(id, token, nome, idCriador, ingredientes, modoPreparo, tempo) { try { const receita = {nome, idCriador, ingredientes, modoPreparo, tempo} const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/${id}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` }, body: JSON.stringify(receita) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta;; } }
-
DELETE
async function excluirReceita(id, token) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/${id}`, { method: 'DELETE', headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` } }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
Respostas da API:
-
-
GET - Buscar algumas receitas cadastradas (Existe um parâmetro opcional para buscar o nome da receita.)
{ "msg": "OK", "status": "success", "dados": [ { "_id": "652e65f75fe4b06fce35ab6b", "nome": "TESTE 1", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "teste 1, teste2, teste 3", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 35, "data": "17-10-2023" }, { "_id": "652e66145fe4b06fce35ab6d", "nome": "TESTE 2", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "teste 1, teste2, teste 3, teste 4, teste 5", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 90, "data": "17-10-2023" }, { "_id": "652e600ebf553aded1bbef56", "nome": "RECEITA 2", "idCriador": "652e5cc6bf553aded1bbef46", "ingredientes": "teste 1, teste2", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbadjcbsdojcbnbscjsab", "tempo": 15, "data": "17-10-2023" }, { "_id": "652e5fe9bf553aded1bbef54", "nome": "RECEITA 1", "idCriador": "652e5cc6bf553aded1bbef46", "ingredientes": "teste 1, teste2, teste3, teste4", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbadjcbsdojcbnbscjsab", "tempo": 55, "data": "17-10-2023" }, { "_id": "652e602dbf553aded1bbef58", "nome": "RECEITA 3", "idCriador": "652e5cc6bf553aded1bbef46", "ingredientes": "teste 1, teste2, teste 3", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 25, "data": "17-10-2023" } ] } -
GET - Buscar uma receita específica (É necessário passar o id da receita como parâmetro)
{ "msg": "OK", "status": "success", "dados": { "_id": "652e65f75fe4b06fce35ab6b", "nome": "TESTE 1", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "teste 1, teste2, teste 3", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 35, "data": "17-10-2023", "__v": 0 } } -
POST - Criar uma nova receita
{ "msg": "Receita criada com sucesso.", "status": "success", "dados": { "nome": "Lasanha", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "Ingerdiente 1, ingrediente 2, ...etc", "modoPreparo": "Modo de preparo da lasanha", "tempo": 90, "data": "20-10-2023", "_id": "6532b9eba49bc40d2175dc01", } } -
PUT - Editar receita (É necessário passar o id da receita como parâmetro)
{ "msg": "receita editada com sucesso", "status": "success", "dados": { "_id": "6532b9eba49bc40d2175dc01", "nome": "Lasanha de berinjela", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "Ingerdiente 1, ingrediente 2, ...etc", "modoPreparo": "Modo de preparo da lasanha de berinjela.", "tempo": 90, "data": "20-10-2023", "__v": 0 } } -
DELETE - Deletar receita (É necessário passar o id da receita como parâmetro)
{
"msg": "Receita excluída com sucesso.",
"status": "success"
}-
Métodos suportados: GET, POST e PUT.
-
Parâmetros de consulta: para usar os métodos GET, POST, e PUT é necessário passar o id do evento para executar as respectivas operações de “Ler dados”, “Editar dados” e “Excluir dados”. exemplo de URL: https://codigourmet-api.vercel.app/receitas/receitasfavoritas/id
-
Exemplos de código:
-
GET
async function receitasFavoritas(id, token) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/receitasfavoritas/${id}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` } }); const resposta = requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
POST
async function favoritarReceita(id, idReceita,token) { try { // Objeto com os dados a serem mandados const receita = {idReceita} const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/receitasfavoritas/${id}`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'authorizathion': `Bearer ${token}` }, body: JSON.stringify(receita) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
PUT
// Função para remover uma receita da lista de favoritos async function removerFavoritos(id, idReceita,token) { try { // Objeto com os dados a serem mandados const receitaId = {idReceita} const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/receitasfavoritas/${id}`, { method: 'PUT', headers: { 'Content-Type': 'application/json', 'authorizathion': `Bearer ${token}` }, body: JSON.stringify(receitaId) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
-
Respostas da API:
-
POST
// Retorna uma lista com os ids da receita. { "msg": "OK", "status": "success", "dados": [ "652e602dbf553aded1bbef58" ] }
-
GET
// Retorna todos os dados da lista de receitas { "msg": "OK", "status": "success", "receitasFavoritas": [ { "_id": "652e602dbf553aded1bbef58", "nome": "RECEITA 3", "idCriador": "652e5cc6bf553aded1bbef46", "ingredientes": "teste 1, teste2, teste 3", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 25, "data": "17-10-2023", "__v": 0 } ] }
-
PUT
// Retira o id da receita da lista de receitas favoritas { "msg": "OK", "status": "success", "dados": [] }
-
-
Métodos suportados: DELETE
-
Parâmetros de consulta: Essa rota é apenas para deletar todas as receitas do usuário”. exemplo de URL: https://codigourmet-api.vercel.app/receitas/apagartudo/id
-
Exemplo de código:
async function excluirTodasReceitas(id, token) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/apagartudo/${id}`, { method: 'DELETE', headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` } }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
Resposta da API:
{ "msg": "Todas as receitas do usuário foram deletadas com sucesso.", "status": "success" }
-
Métodos suportados: GET
-
Parâmetros de consulta: Essa rota é apenas para buscar todas as receitas do usuário”. exemplo de URL: https://codigourmet-api.vercel.app/receitas/minhasreceitas/id
-
Exemplo de código:
async function minhasReceitas(id, token) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/receitas/minhasreceitas/${id}`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'authorization': `Bearer ${token}` } }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
Respostas da API
{ "msg": "Sucesso!", "status": "success", "dados": [ { "_id": "652e65f75fe4b06fce35ab6b", "nome": "TESTE 1", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "teste 1, teste2, teste 3", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 35, "data": "17-10-2023", "__v": 0 }, { "_id": "652e66145fe4b06fce35ab6d", "nome": "TESTE 2", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "teste 1, teste2, teste 3, teste 4, teste 5", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 90, "data": "17-10-2023", "__v": 0 }, { "_id": "6532b9afa49bc40d2175dbff", "nome": "TESTE 2", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "teste 1, teste2, teste 3, teste 4, teste 5", "modoPreparo": "cuadbkcasblakcnbishdcbslajcbacibhaidfcviadjcbsdojcbnbscjsab", "tempo": 90, "data": "20-10-2023", "__v": 0 }, { "_id": "6532b9eba49bc40d2175dc01", "nome": "Lasanha de berinjela", "idCriador": "652e5cefbf553aded1bbef49", "ingredientes": "Os ingredientes aqui:", "modoPreparo": "Modo de preparo da lasanha de berinjela.", "tempo": 55, "data": "20-10-2023", "__v": 0 } ] }
-
Métodos suportados: POST e PATCH.
-
Parâmetros de consulta: Essa rota serve para enviar o e-mail de recuperação de senha e também recuperar a senha. exemplo de URL: https://codigourmet-api.vercel.app/recuperarsenha.**
-
Exemplos de código:
-
POST
async function enviarEmail(email) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/recuperarsenha`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({email}) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
PATCH
async function recuperarSenha (id, senha) { try { const requisicao = await fetch(`https://codigourmet-api.vercel.app/recuperarsenha/${id}`, { method: "PATCH", headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({senha}) }); const resposta = await requisicao.json(); return resposta; } catch (error) { console.log(error); const resposta = {msg: `Algo deu errado. Tente novamente mais tarde.`, status: `error`} return resposta; } }
-
-
Respostas da API
-
POST
{ "msg": "E-mail enviado! confira sua caixa de emails.", "status": "success" }
-
PATCH
{ "msg": "Senha alterada com sucesso", "status": "success" }
-