Referencia API
API de Comida Rápida
API REST para consultar y gestionar un menú digital de comida rápida. Incluye recursos organizados por categorías como café, donas, hamburguesas, pizza, pasteles y galletas.
Métodos disponibles:
GET,
POST,
PUT y
DELETE.
Base URL
https://devsapihub.com/api-fast-food
Puedes consumir esta API con cualquier cliente HTTP o directamente desde el navegador.
Endpoints
Listar comidas
GET /api-fast-food
GET
Retorna un array con todos los productos disponibles.
Obtener comida por ID
GET /api-fast-food/:id
GET
Retorna los datos de una comida según el identificador enviado en la ruta.
GET /api-fast-food/1
Crear comida
POST /api-fast-food/product
POST
Body JSON requerido:
{
"name": "Café nuevo",
"price": 25.9,
"image": "https://devsapihub.com/img-fast-food/cafe_03.jpg",
"category": "cafe"
}
Respuesta: recurso creado y listado actualizado en GET /api-fast-food.
Actualizar comida
PUT /api-fast-food/product/:id
PUT
Ejemplo de consulta previa:
GET /api-fast-food/product/1
Body JSON de actualización:
{
"id": 1,
"name": "Café Editado",
"price": 39.9,
"image": "/imgs/editado.jpg",
"category": "cafe"
}
Respuesta: recurso actualizado con los nuevos valores.
Eliminar comida
DELETE /api-fast-food/product/:id
DELETE
Elimina el recurso correspondiente al ID indicado.
DELETE /api-fast-food/3
Respuesta: listado actualizado consultable en GET /api-fast-food.
Filtrar comidas por categoría
GET /api-fast-food/category/:category
GET
Retorna comidas por categoría. Ejemplos válidos para :category:
cafe, hamburguesas,
pizza, entre otras.
GET /api-fast-food/category/cafe
Respuesta: array con los productos de la categoría solicitada.
Ejemplos de consumo
# Listar todos los productos
curl -X GET "https://devsapihub.com/api-fast-food"
# Obtener un producto por ID
curl -X GET "https://devsapihub.com/api-fast-food/1"
# Filtrar productos por categoría
curl -X GET "https://devsapihub.com/api-fast-food/category/cafe"
# Crear un nuevo producto
curl -X POST "https://devsapihub.com/api-fast-food/product" \
-H "Content-Type: application/json" \
-d '{
"name": "Hamburguesa Doble Queso",
"price": 89.9,
"image": "https://devsapihub.com/img-fast-food/burger.jpg",
"category": "burger"
}'
const getProducts = async () => {
try {
const res = await fetch("https://devsapihub.com/api-fast-food");
const data = await res.json();
if (!res.ok) {
throw new Error("Error en la respuesta de la API");
}
console.log(data);
} catch (error) {
console.error("Error al obtener las comidas:", error.message);
}
};
getProducts();
import requests
response = requests.get("https://devsapihub.com/api-fast-food")
print(response.json())
import axios from "axios";
const getProducts = async () => {
try {
const res = await axios.get("https://devsapihub.com/api-fast-food");
console.log(res.data);
} catch (error) {
console.error("Error al obtener las comidas:", error.message);
}
};
getProducts();
import { useEffect, useState } from 'react';
export default function App() {
const [products, setProducts] = useState([]);
useEffect(() => {
const getProducts = async () => {
try {
const resp = await fetch('https://devsapihub.com/api-fast-food');
const data = await resp.json();
setProducts(data);
} catch (error) {
console.error(error);
}
};
getProducts();
}, []);
return (
<>
<h1>Comidas</h1>
{products.map((product) => (
<div key={product.id}>
<img
src={product.image}
alt={product.name}
style={{ width: '200px', height: '200px', objectFit: 'cover' }}
/>
<h3>{product.name}</h3>
<p><strong>Categoría:</strong> {product.category}</p>
<p><strong>Precio:</strong> ${product.price.toFixed(2)}</p>
</div>
))}
</>
);
}
<?php
$response = @file_get_contents('https://devsapihub.com/api-fast-food');
$data = json_decode($response, true);
echo '<pre>';
echo $data ? print_r($data, true) : 'Error al obtener o decodificar los datos.';
echo '</pre>';
?>
Demo de interfaz
Ejemplo práctico de una vista de comidas conectada a datos de API.
Explorar en CodePen