Esta es la lista de mock que vamos a utilizar en el proyecto:
{
"messages": [{"code": string, "message": string}], // Optional - Mensaje de respuesta
"data": {} or [] // Optional - Data, puede ser un objeto o un array
}
Request:
PATH: /api/v1/admin/images
METHOD: POST
HEADER: Authorization: Bearer jwt
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Multiple file upload</title>
</head>
<body>
<h1>Subida de imágenes</h1>
<form id="formUpload" action="/api/v1/admin/images" enctype="multipart/form-data">
<input type="file" id="files" name="files" multiple>
<button id="btnUpload">Upload</button>
</form>
<script>
const formUpload = document.getElementById("formUpload")
const files = document.getElementById("files")
const btnUpload = document.getElementById("btnUpload")
formUpload.addEventListener("submit", e => { e.preventDefault() })
btnUpload.addEventListener("click", async (e) => {
e.preventDefault()
const url = "<https://dev-ecommerce.alexyslozada.com/api/v1/admin/images>"
const formData = new FormData(formUpload)
const myHeaders = new Headers()
myHeaders.append("Authorization", "Bearer the-jwt-token")
const req = await fetch(url, {
method: "POST",
body: formData,
headers: myHeaders
})
const json = await req.json()
console.log(json)
})
</script>
</body>
</html>
Response:
{
"data": ["uuid-for-each-image", "uuid-for-each-image"]
}
Para armar las url de las imágenes debemos utilizar la ruta del servidor de la API y la ruta /public/images/uuid-de-la-imagen
Request Create (only admins):
PATH: /api/v1/admin/products
METHOD: POST
Header Authorization: Bearer jwttoken
Request Get (public without token)
PATH: /api/v1/public/products
METHOD: GET