Carlos Chacin
Youtube Channel: @cchacin
Software Engineering Experiences
Crea una REST API sin usar ningún Framework con Java Servlets, JDBC, PostgreSQL y Jackson
Posted at February 01, 2025 / Carlos Chacin
01 Feb 2025 Carlos ChacinCrea una REST API sin usar ningún Framework con Java Servlets, JDBC, PostgreSQL y Jackson
En éste video, veremos como implementar una REST API sin usar ningún framework como Quarkus, Micronaut, Helidon o Spring Boot. Usaremos Servlets para exponer la API, JDBC para conectarnos a PostgreSQL y Jackson para la serialización a JSON, Integration Testing con Junit5, AssertJ y TestContainers.
Recursos:
- Jetty: https://jetty.org/
- HikariCP: https://github.com/brettwooldridge/HikariCP
- 12 Factor Apps: https://12factor.net/
- Código: https://github.com/cchacin/frameworkless-rest-api
Parte 1
Parte 2
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
Servlet Container │
│----------------- ┌───────────────┐
Jetty │ Serialization │ │
│ ├───────────────┤
│ JSON │ │
│ ┌───────────────┐ │ ------- │◀─────┐
│ REST │ │ Jackson │ │ │
│ ├───────────────┤ └───────────────┘ │
│ API Layer │ │ │
│ │ -------- │◀────────────────┐ │
│ Servlets │ │ │ │
│ └───────────────┘ │ │
│ │ │
│ │ │
│ │ │
│ ┌───────────────┐ │ │ ┌───────────────┐
│ Core DTOs │ │ │ │ Main │ │
│ ├───────────────┤ │ │ ├───────────────┤
│ Service Layer │ │ │ │ App Layer │ │
│ │ ------------- │◀────────────────┼──────────┴───────│ ------------- │
│ Plain Java │ │ │ Plain Java │ │
│ └───────────────┘ │ └───────────────┘
│ │
│ │
│ │
│ ┌───────────────┐ │
│ DB DTOs │ │ │
│ ├───────────────┤ │
│ Data Layer │ │ │
│ │---------------│◀────────────────┘
│JDBC / Postgres│ │
│ └───────────────┘
│ │
│ │
│ │
│ │
─ ─ ─ ─ ─ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
│
└────────────────────────┐
│
│
│
│
│
│
▼
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
DATABASE │
│----------
PostgreSQL │
│
│
│
│
│
│
│
│
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─