Le module Arena
Vous allez à présent porter le module arena
.
On prend les mêmes et on recommence
Indiquez au module arena
que vous souhaitez utiliser les dépendances indiquées dans le POM parent.
<project>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-kotlin</artifactId>
</dependency>
</dependencies>
</project>
et ajoutez le plugin configuré dans le parent
<build>
<plugins>
...
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
</plugin>
</plugins>
</build>
Premièrement
Portez les fichiers ArenaApplication
, FightController
, BattleRepository
, ArenaService
et BattleEntity
en Kotlin en utilisant au maximum des fonctions Single-Expression.
FightRunner
Porter le fichier FightRunner
en Kotlin :
- Transformez le logger en propriété privée ou en tant que
companion
- Utilisez l'opérateur
when
pour supprimer lesif
Vérification
Vérifier que l'ensemble de l'API fonctionne en lançant un combat depuis http://localhost:8080.