Modelado de Endpoints y JSON para API de PlatziTweets
Clase 24 de 52 • Curso de Desarrollo de Apps para iOS
Crear los modelos y guardar todas las direcciones de los servicios web de tu API va a ser una tarea a la que te vas a enfrentar en el mundo real.
Hemos creado una API para que todos los estudiantes de este curso puedan crear su propio PlatziTweets. A continuación, te daré la descripción de la API y los JSON que tendrás que tener en cuenta durante las siguientes clases:
Endpoint principal
Url: https://platzi-tweets-backend.herokuapp.com/api/v1
Al ser este Https, no será necesario que hagas ninguna excepción de seguridad. Aquí tienes tu primer reto, guarda este texto en algún lugar donde todas las clases puedan accederlo. Por ejemplo, puedes crear una estructura y agregarle un valor estático, algo así:
Endpoints.swift
(El nombre Endpoints me lo inventé yo, tú puedes ponerle el que quieras)
Ahora te daré una descripción breve de todos los endpoints que necesitaremos durante el proyecto para que todo funcione correctamente. Tienes una tarea, tendrás que crear estos JSON que te daré a continuación como estructuras Codables, así como lo hicimos en la clase en la que convertimos JSON a modelos.
Inicio de sesión
Url: https://platzi-tweets-backend.herokuapp.com/api/v1/auth
Tipo: POST
JSON para enviar:
JSON de respuesta:
Te ayudaré con el primer punto de la tarea, así te tiene que quedar la estructura que relaciona el JSON para enviar:
LoginRequest.swift
(El nombre LoginRequest me lo inventé yo, tú puedes ponerle el que quieras)
Así la estructura del JSON de respuesta:
LoginResponse.swift
(El nombre LoginResponse me lo inventé yo, tú puedes ponerle el que quieras)
ErrorResponse.swift
así la estructura del JSON del usuario (que va en la respuesta):
User.swift
(El nombre User me lo inventé yo, tú puedes ponerle el que quieras)
Y, por último, el endpoint del inicio de sesión a tu estructura de Endpoints, algo así:
Ahora te daré los demás servicios web con sus respectivos JSON para que termines de agregar los endpoints y crear las estructuras, igual que como acabamos de hacer.
Registro
Url: https://platzi-tweets-backend.herokuapp.com/api/v1/register
Tipo: POST
JSON para enviar:
JSON de respuesta:
(Pssst, puedes usar el mismo del Login)
Obtener Tweets
Url: https://platzi-tweets-backend.herokuapp.com/api/v1/posts
Tipo: GET
JSON para enviar:
No requerido.
JSON de respuesta:
(Este es un Array de objetos)
Publicar Tweet
Url: https://platzi-tweets-backend.herokuapp.com/api/v1/posts
Tipo: POST
JSON para enviar: Nota importante:
Los campos imageUrl
, videoUrl
y location
son opcionales, un Tweet puede publicarse solo con texto.
JSON de respuesta:
Borrar Tweet
Url: https://platzi-tweets-backend.herokuapp.com/api/v1/posts/{ID_DEL_POST}
Tipo: DELETE
JSON para enviar:
No requerido.
JSON de respuesta:
Sé que puede parecer mucho trabajo, pero te aseguro que podrás lograrlo en 15 minutos si te lo propones.
¡Nos vemos en la siguiente clase!