Buscar en moleculax

Este blog es un ensayo digital donde el pensamiento estructurado se encuentra con la introspección profunda. Explora la arquitectura del conocimiento: desde lo técnico hasta los fundamentos éticos. Aquí, cada algoritmo tiene propósito, cada línea de código refleja intención, y cada reflexión filosófica busca optimizar no solo sistemas, sino también decisiones humanas. Este blog no solo enseña a pensar, enseña a discernir, a construir con sentido. Porque el verdadero desarrollo nace de la conciencia, y eso exige precisión, virtud y coraje.

Tenemos que aprender a contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles ya que el verdadero progreso no se mide por la velocidad con la que avanzamos, sino por la dirección que elegimos. En un mundo cada vez más interconectado, el desarrollo de la humanidad exige más que tecnología y conocimiento: requiere conciencia, empatía y propósito.

Debemos cultivar una inteligencia que no solo resuelva problemas, sino que los prevenga con sabiduría. Una ciencia que no solo descubra, sino que se pregunte por qué y para quién. Una economía que no solo crezca, sino que reparta con justicia. Y una cultura que no solo celebre lo diverso, sino que lo abrace como fuerza vital.

Cada decisión que tomamos, cada palabra que decimos, cada idea que compartimos, puede ser una semilla de transformación. El futuro no está escrito: lo estamos escribiendo juntos, ahora mismo.

Que el desarrollo humano sea integral, sostenible y profundamente humano. Porque solo cuando elevamos a todos, nos elevamos como especie.

Sabiduría Justicia Templanza Coraje
Crear una API REST en Java con Spring Boot

¿Qué es una API REST?

Una API REST (o RESTful API) es una forma de comunicación entre sistemas que sigue los principios del estilo arquitectónico REST (Representational State Transfer), definido por Roy Fielding en el año 2000. Es ampliamente utilizada para construir servicios web que permiten a diferentes aplicaciones intercambiar datos de manera sencilla, rápida y escalable.

🧠 ¿Qué significa REST?

REST no es un protocolo ni un estándar, sino un conjunto de principios de diseño para crear APIs que funcionen sobre HTTP. Estos principios incluyen:

  • 📍 Interfaz uniforme: Todos los recursos se acceden mediante URLs (por ejemplo, /usuarios/123).
  • 🔄 Sin estado: Cada solicitud contiene toda la información necesaria; el servidor no guarda contexto entre llamadas.
  • 📦 Acceso a recursos: Los datos (recursos) se representan en formatos como JSON o XML.
  • 🔁 Operaciones estándar: Se usan los métodos HTTP:
    • GET para obtener datos
    • POST para crear
    • PUT para actualizar
    • DELETE para eliminar

📦 Ejemplo simple de API REST

Supongamos que tienes una API para gestionar usuarios. Los endpoints típicos serían:

  • GET /usuarios → devuelve la lista de usuarios
  • GET /usuarios/1 → devuelve el usuario con ID 1
  • POST /usuarios → crea un nuevo usuario
  • PUT /usuarios/1 → actualiza el usuario con ID 1
  • DELETE /usuarios/1 → elimina el usuario con ID 1

Todo esto se hace a través de solicitudes HTTP, y la respuesta suele estar en formato JSON, que es fácil de leer tanto para humanos como para máquinas.

🧭 ¿Para qué se usa?

  • 📱 Aplicaciones móviles que se conectan a servidores
  • 🌐 Sitios web que consumen datos dinámicos
  • 🔗 Microservicios que se comunican entre sí
  • 🏢 Integraciones entre sistemas empresariales

Crear una API REST en Java con Spring Boot

¡Vamos a ello! Crear una API REST en Java puede hacerse de varias formas, pero una de las más populares y modernas es usando Spring Boot, que simplifica muchísimo el proceso. También podés usar JAX-RS si preferís trabajar con especificaciones estándar de Java EE.

Aquí te explico cómo hacerlo paso a paso con Spring Boot, que es ideal para empezar rápido y con buenas prácticas.

🛠️ Paso 1: Configura tu proyecto

Usá Spring Initializr para generar tu proyecto base:

  • Project: Maven
  • Language: Java
  • Spring Boot version: la más reciente estable
  • Dependencies: Spring Web

Descargá el proyecto y abrilo en tu IDE favorito (Eclipse, IntelliJ, VS Code).

📦 Paso 2: Crea tu modelo

public class Usuario {
    private Long id;
    private String nombre;
    private String email;

    // Getters y setters
}

📡 Paso 3: Crea tu controlador REST

import org.springframework.web.bind.annotation.*;
import java.util.*;

@RestController
@RequestMapping("/usuarios")
public class UsuarioController {

    private List<Usuario> usuarios = new ArrayList<>();

    @GetMapping
    public List<Usuario> obtenerUsuarios() {
        return usuarios;
    }

    @PostMapping
    public void agregarUsuario(@RequestBody Usuario usuario) {
        usuarios.add(usuario);
    }

    @GetMapping("/{id}")
    public Usuario obtenerUsuario(@PathVariable Long id) {
        return usuarios.stream()
                .filter(u -> u.getId().equals(id))
                .findFirst()
                .orElse(null);
    }

    @DeleteMapping("/{id}")
    public void eliminarUsuario(@PathVariable Long id) {
        usuarios.removeIf(u -> u.getId().equals(id));
    }
}

🚀 Paso 4: Ejecutá tu aplicación

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Ejecutá la aplicación y accedé a tu API en http://localhost:8080/usuarios.

🧪 Probalo con Postman o fetch()

Podés usar herramientas como Postman o incluso una página HTML con fetch() para probar tus endpoints.

.

agenda 2023 (1) Algo que leer (265) Android (2) Angular (2) Apache (6) API (1) Arte y Cultura (11) Artes Marciales (10) Banner (1) Base de datos (33) Batalla Cultural (4) Big Data (12) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (1) Cine (1) Cobol (12) Cobra Kai (1) Codigo Linux Documental (2) Computación (3) Computación forense (14) Configurando Samba (1) Conocimiento (1) Consola (8) contenedores (5) Criptomonedas (3) Cultura (1) Cursos (15) Darkweeb (3) Data Mining (1) Debian (12) DeepWeb (7) demografia (8) Deporte y Recreación (9) Deportes (10) desclasificados (7) Desktop (1) developers (1) Docker (6) Document (1) Ecología (6) Editor (3) Editores (4) Educacion y TIC (31) Electronica (2) Emprendimiento (7) Espiritualidad (2) estoicismo (4) Eventos (2) Excel (1) Express (1) fedora (1) Filosofía (25) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) framework (1) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (7) GitHub (8) Globalizacion (5) gnu (28) Go (1) gobiernos (2) golang (2) Google por dentro (1) GraphQL (1) gRPC (1) Hackers - Documental (8) Hacking (31) Historia (3) howto (189) html (1) IA (19) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (51) java eclipse (2) javaScript (8) JDK (1) jiujitsu (4) Json (1) Junit (1) kali (37) kernel (2) Kotlin (1) Laravel (2) Latin (1) LIbreOffice (1) Libros (4) Linux (44) Linux VirtualBox (1) Literatura (1) Manuales (42) mariaDB (1) Markdown (4) Marketing (1) Matando ladilla (9) Matematricas (1) Math (1) maven (1) metodos https (1) Modelos (1) MongoDB (17) Multimedia (1) Musica (1) mvc (2) Mysql (20) MySQL Workbench (1) Nagios (2) Naturismo (1) node (4) Node.js (5) NodeJS (8) NoSQL (1) Oracle (8) Oracle sql (8) Php (2) PL/SQL (1) Plsql (1) PNL (1) Poblacion (2) Podman (1) Poesia (1) Politica (4) Política (1) Postgresql (8) PowerShell (1) programacion (79) Psicologia (11) Python (5) Recomiendo (1) Redes (31) Religion (2) REST (2) Rock (1) Rock/Metal Mp3 (2) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (17) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (10) simularExamen (10) Sistemas Operativos (69) SOAP (1) Sociedad (5) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (10) SQL (3) SQL en postgreSQL (38) Taekwondo (11) Tecnologia (5) Tecnología (27) Templarios (5) Tendencias (1) Thymeleaf (1) Tomcat (2) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) unix (2) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) web (1) Wifi (2) Windows (3) WWW (2) Xrandr (1) Zero Trust (2)

Sabiduria Justicia Templanza Coraje.

Hay que contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles.


Powered by