El usuario, mediante el navegador, hace peticiones para traer información desde el servidor. Estas peticiones predeterminadas son etiquetadas con el verbo GET. Mientras que para enviar datos nuevos del cliente al servidor, se recomienda el uso de peticiones etiquetadas con el verbo POST mediante el uso de formularios.
Crea un nuevo proyecto, según Express - Bases, Express - ORM (Básico), Express - ORM (Intermedio), Express - Parámetros de consulta y Parámetros de ruta y Express - REST.
hito8-apiCrea un nuevo proyecto, según Express - Bases, Express - Bootstrap y Express - Layouts y Partials.
hito4-adminfotos_formulario.ejs a la carpeta admin/viewsfotos_formulario_add.ejs a la carpeta admin/views/partials'#' por la referencia a la ruta '/photos/add'.
...
<a href="/photos/add" class="btn btn-secondary"> ... Add New Photo ... </a>
...
"/photos/add" para el verbo GET.
...
router.get('/photos/add', function(req, res, next) {
res.render('fotos_formulario', { title: 'Express' });
});
...
module.exports = router;
"/photos/save" para el verbo POST.
...
router.post('/photos/save', async function(req, res, next) {
let { title, description, rate } = req.body
const URL = 'http://localhost:4444/rest/fotos/save'
let data = {
titulo:title,
descripcion: description,
calificacion: rate,
ruta: ''
}
const config = {
proxy: {
host: 'localhost',
port: 4444
}
}
const response = await axios.post(URL, data, config);
if(response.status == '200' && response.statusText == 'OK') {
res.redirect('/photos')
} else {
res.redirect('/')
}
});
...
module.exports = router;
npm installset PORT=4444npm run devstartnpm installset PORT=3080npm run devstart"/photos" y de clic en el botón Add New Photo
"/photos/add"
"http://localhost:3080/photos", verifique que aparezcan los datos recientemente ingresados.