CRUD EM 5 DIAS - A Saga (1° dia)
Esse é uma saga aonde eu coloco os conhecimentos que eu consegui reunir na minha jornada de desenvolvedor meu primeiro CRUD, por favor, se tiver algo errado, comentem :)
obs: Alguns conteudos que estão aqui foram tirados do chatgpt
Protocolo HTTP
O que é?
É um protocolo usado para comunicação na internet, como devices e servidores normalmente se comunicam
Métodos
GET : Indica intenção de leitura de dados
POST: Indica intenção de envio de dados
PUT/PACTH: Indica a intenção atualização/correção
DELETE: Indica a intenção de exclusão de dados
Status
200 e variações = Faixa de SUCESSO
300 e variações = Faixa de REDIRECIONAMENTO
400 e variantes = Faixa de ERRO por conta da REQUISIÇÃO
500 e variantes = Faixa de ERRO por conta do SERVIDOR
Servidor Simples - Node (puro)
const http = require('node:http') //Importa o modulo 'http' nativo do Node
const server = http.createServer((request, response) => { // Cria servidor
console.log(request)
response.writeHead(200)
response.write('Servidor HTTP em Node.js funcionando!')
response.end()
})
const PORT = 3000
server.listen(PORT, () => { //Observa a porta indicada
console.log(`Servidor rodando em http://localhost:${PORT}/`)
})
FrameWork
O que é?
Uma caixa de ferramenta que uni várias ferramentas/funções que possibilita um desenvolvimento mais ágil
Express (FrameWork)
Servidor Simples - Framework (Express)
// Criando projeto Node.js
npm init -y.
// Instalando Express
npm install express
const express = require('express') // Impoetando o Express
const server = express() //Cria Servidor e atribuindo variável 'server'
server.get('/', (request, response) => { // Rota
response.send('Servidor Express funcionando!\nVocê está na página inicial.')
})
const PORT = 3000
server.listen(PORT, () => { //Observa a porta indicada
console.log(`Servidor Express iniciado em http://localhost:${PORT}/`)
})
Conclusão: Variável “server” além de criar o servidor, serve para manipular requisições http recebidas
Arquivos Estáticos
const express = require('express')
const app = express()
app.use(express.static('public')) //"app.use" = cria middleware/filtro
// 'express.static('public') Atrbui a função de distribuição de páginas
//estáticas ao servidor. "public" é a pasta aonde se
//encontrá os arquivos estáticos
app.get('/', (req, res) => {
res.sendFile(__dirname + '/views/index.html')
})
const PORT = 3000
app.listen(PORT, () => {
console.log('Servidor iniciado!')
})
//Entendendo Arvore de aquivos express usadas no código
exprees{
-static
-express (metodo)
|-------listen (metodo)
}
Middlwares
Middlewares são como "intermediários" em uma aplicação web que utilizam frameworks como o Express.js. Pense neles como filtros ou etapas que ocorrem durante o processamento de uma solicitação (request) e antes que a resposta (response) seja enviada de volta ao usuário.
Quando um pedido é feito a um servidor, ele passa por uma "cadeia" de middlewares. Cada middleware pode fazer algo com o pedido (como verificar a autenticação, processar dados, ou registrar informações), antes de passar o pedido para o próximo middleware ou rota na cadeia.
Se nenhum middleware finaliza o pedido (enviando uma resposta), o pedido continua fluindo pelos middlewares até que chegue a uma rota que responda ou até o final da cadeia.
De forma simples, os middlewares ajudam a dividir e organizar a lógica da sua aplicação em partes menores, fazendo com que o código fique mais modular e fácil de gerenciar.
No caso, o middleware express.static
serve arquivos estáticos, como HTML, CSS, JavaScript, imagens, entre outros, que estão na pasta 'public'
.
- Quando você usa
app.use(express.static('public'))
, está dizendo ao Express para verificar a pasta'public'
toda vez que uma solicitação for feita. - Se um arquivo correspondente ao caminho solicitado for encontrado nessa pasta, ele é automaticamente servido ao cliente.
- Por exemplo, se o arquivo
public/images/logo.png
existir e o usuário acessarhttp://seusite.com/images/logo.png
, o Express vai encontrar o arquivo e enviá-lo diretamente como resposta.