En modern RESTful webbtjänst för hantering av filmer, implementerad med Jakarta EE 11 Preview.
- CRUD-operationer för filmer
- Filtrering baserat på regissör och titel
- Sökning baserat på speltid
- Validering av indata
- Felhantering med anpassade undantag
- Containeriserad med Docker
- Jakarta EE 11 Preview
- Jakarta Data för dataåtkomst
- Jakarta Persistence (JPA) för ORM
- Jakarta Bean Validation för validering
- PostgreSQL som databas
- Docker för containerisering
src/main/java/se/komplexjava/movie/
├── entity/
│ └── Movie.java
├── dto/
│ ├── CreateMovieDTO.java
│ ├── UpdateMovieDTO.java
│ └── MovieDTO.java
├── mapper/
│ └── MovieMapper.java
├── repository/
│ └── MovieRepository.java
├── service/
│ └── MovieService.java
├── resource/
│ └── MovieResource.java
└── exception/
├── ResourceNotFoundException.java
└── ResourceNotFoundExceptionMapper.java
POST /api/movies- Skapa en ny filmGET /api/movies- Hämta alla filmerGET /api/movies/{id}- Hämta en specifik filmPUT /api/movies/{id}- Uppdatera en filmDELETE /api/movies/{id}- Ta bort en film
?director=- Filtrera på regissör?title=- Filtrera på titel?minDuration=&maxDuration=- Filtrera på speltid
- Docker och Docker Compose
- Java 17 eller senare
- Maven
- Klona projektet:
git clone <repository-url>
cd KomplexxJava- Bygg och starta med Docker Compose:
docker-compose up --build- Applikationen kommer att vara tillgänglig på:
- API: http://localhost:8080/movie-api/api/movies
- Admin Console: http://localhost:4848
För att bygga utan Docker:
mvn clean packageKör tester med:
mvn test