JAVASCRIPT
---- respiramos hondo----
Mañana veremos algo de testing tranquilos
¿Para hacerte un adulto ya?
FULLSTACK
Cuando el usuario interactúa con nuestras webs o aplicaciones debemos guardar sus datos en algún servidor.
Si un usuario declara eventos en su calendario, tenemos dos opciones:
- O guardamos sus datos solo en local, y ese usuario si reinstala la app o si entra desde otro dispositivo no ve datos.
- O guardamos sus datos en una base de datos en "la nube" y podemos sincronizar sus diferentes dispositivos porque sabemos que vuelve a entrar con el mismo usuario
Una base de datos es básicamente dónde se almacenan los datos de la aplicación.
Estos datos no son solo los que el usuario crea, edita, borra o ve, si no también los propios usuarios, otros datos de configuración de la web, otros datos de tablas que se relacionan con las que el usuario ve, etc etc
A grandes rasgos, porque no es parte del alcance de este curso, existen dos tipos de bases de datos
Relacionales y No Relacionales
La gran mayoría de bases de datos no relacionales están basadas en una estructura JSON
LOS CHICOS DE BACKEND NOS VAN A GUARDAR DATOS EN LA NUBE, NOSOTROS VAMOS A APRENDER A MANDARLE LOS DATOS DESDE EL FRONT Y A PEDIRLES DATOS DESDE EL FRONT
Ordenador usuario
Servidor facebook
== DAME EL HTML =>
<= TOMA EL HTML ==
== DAME LOS POSTS =>
<= TOMA LOS POSTS ==
Le he dado like a este post =>
<= ok, lo tengo en cuenta ==
== He subido un nuevo post =>
<= ok, lo tengo en cuenta ==
Ordenador usuario
Servidor facebook
== DAME EL HTML =>
<= TOMA EL HTML ==
== GET /POSTS =>
<= TOMA LOS POSTS ==
POST /POST/ID/LIKES/ =>
<= ok, lo tengo en cuenta ==
== POST: /ME/POSTS =>
<= ok, lo tengo en cuenta ==
users
posts
pages
messages
GET ( URL )
var URL = 'https://jsonplaceholder.typicode.com/users'
GET ( URL + '/25' )
POST ( URL, DATA )
PUT ( URL + '/25', DATA )
DELETE ( URL + '/25' )
Para pedir datos
Para mandar datos
Digamos, que es la forma de apuntar a un recurso en particular
Tiene dos partes claras, el host y el recurso
Indica la acción que queremos hacer desde el front con nuestra solicitud. Son varios:
GET POST PUT DELETE
var URL = 'https://jsonplaceholder.typicode.com/users'
Digamos, que es la forma de apuntar a un recurso en particular
Tiene dos partes claras, el host y el recurso
Indica la acción que queremos hacer desde el front con nuestra solicitud. Son varios:
GET POST PUT DELETE
var URL = 'https://jsonplaceholder.typicode.com/users'
== DAME LOS POSTS =>
<= TOMA LOS POSTS ==
GET
var URL = 'https://jsonplaceholder.typicode.com/users'
Para pedir
POST
PUT
DELETE
Para añadir
Para actualizar
Para borrar
GET
var URL = 'https://jsonplaceholder.typicode.com/users'
Para pedir
POST
PUT
DELETE
Para añadir
Para actualizar
Para borrar
ejemplo
.get('URL' + '/users')
.get('URL' + '/users/25')
.post('URL' + '/users', body)
.put('URL' + '/users/25', body)
.delete('URL' + '/users/25')
Digamos, que es la forma de apuntar a un recurso en particular
Tiene dos partes claras, el host y el recurso
Indica la acción que queremos hacer desde el front con nuestra solicitud. Son varios:
GET POST PUT DELETE
== DAME LOS USUARIOS =>
Digamos, que es la forma de apuntar a un recurso en particular
Tiene dos partes claras, el host y el recurso
Indica la acción que queremos hacer desde el front con nuestra solicitud. Son varios:
GET POST PUT DELETE
== DAME EL USUARIO CON ID = 5 =>
Digamos, que es la forma de apuntar a un recurso en particular
Tiene dos partes claras, el host y el recurso
Indica la acción que queremos hacer desde el front con nuestra solicitud. Son varios:
GET POST PUT DELETE
== INTRODUCE UN USUARIO NUEVO =>
Digamos, que es la forma de apuntar a un recurso en particular
Tiene dos partes claras, el host y el recurso
Indica la acción que queremos hacer desde el front con nuestra solicitud. Son varios:
GET POST PUT DELETE
== MODIFICA AL USUARIO 5 =>
GET ( URL )
var URL = 'https://jsonplaceholder.typicode.com/users'
GET ( URL + '/25' )
POST ( URL, DATA )
PUT ( URL + '/25', DATA )
DELETE ( URL + '/25' )
1 RECURSO = 1 URL
STANDARD => NOUNS
http://localhost:3000/users
http://localhost:3000/books
http://localhost:3000/books/3
Hay algunos locos que
también usan los sustantivos en singular
import axios from 'axios';
axios.get(url)
axios.post(url, body)
axios.put(url, body)
axios.delete(url)
npm install axios
STANDAR URL NAMES
GET : /USERS
GET : /USERS/:id
POST : /USERS
PUT : /USERS/:id
DELETE : /USERS/:id
LOS DATOS NO ESTARÁN EN LOCAL ESTA VEZ , ESTARÁN EN UN SERVIDOR
axios.get( URL ) axios.post(URL, DATA)
axios.put( URL, DATA ) axios.delete( URL )
COMO TRAER DATOS. Javascript
var urlServer = 'https://jsonplaceholder.typicode.com/users';
axios.get(urlServer)
.then( (users) => {
console.log('Usuarios =' , users.data )
})
.catch( (error) => {
console.log('Algo salio mal =' , error )
})
COMO TRAER DATOS. Javascript
var urlServer = 'https://jsonplaceholder.typicode.com/users/5';
axios.get(urlServer)
.then( (user) => {
console.log('Usuario con id 5 =' , user.data )
})
.catch( (error) => {
console.log('Algo salio mal =' , error )
})
COMO TRAER DATOS. Javascript
var urlServer = 'https://jsonplaceholder.typicode.com/users/5';
axios.get(urlServer)
.then( (user) => {
console.log('Usuario con id 5 =' , user.data )
})
.catch( (error) => {
console.log('Algo salio mal =' , error )
})
COMO TRAER DATOS. Javascript
var urlServer = 'https://jsonplaceholder.typicode.com/users/5';
axios.get(urlServer)
.then( (user) => {
console.log('Usuario con id 5 =' , user.data )
})
.catch( (error) => {
console.log('Algo salio mal =' , error )
})
COMO MANDAR DATOS. Javascript
var urlServer = 'https://jsonplaceholder.typicode.com/users';
axios.post(urlServer, newUser)
.then( (user) => {
console.log('Usuario añadido con id =' , user.data.id )
})
.catch( (error) => {
console.log('Algo salio mal =' , error )
})
GET ( URL )
var URL = 'https://jsonplaceholder.typicode.com/users'
GET ( URL + '/25' )
POST ( URL, DATA )
PUT ( URL + '/25', DATA )
DELETE ( URL + '/25' )
¿Por qué then y catch?
ASINCRONÍA
COMO MANDAR DATOS. Javascript
var urlServer = 'https://jsonplaceholder.typicode.com/users/5';
axios.post(urlServer, newUser)
.then( (user) => {
console.log('Usuario añadido con id =' , user.data.id )
})
.catch( (error) => {
console.log('Algo salio mal =' , error )
})
VUESTRO TURNO
Juega con la api de jsonplaceholder
Programa un frontal que pida de la api de jsonplaceholder todos las TODOS y los muestre en la pantalla
- Al lado de cada tarea, aparecerá un botón para completarla y otro para borrar la tarea. El botón de borrar tendrá que llamar a la api de jsonplaceholder y decirle que la quiere eliminar y luego eliminarse de la pantalla si la api respondió por el .then(). El boton de completar tendrá que hacer una petición PATCH a esa tarea concreta para editarle el complete
- Añade también un input y un botón para añadir nuevas tareas