Je travaille dans un environnement Spring Boot en utilisant Kotlin. J'ai créé un contrôleur avec une méthode annotée avec @GetMapping. Cette méthode a des paramètres de type @RequestParam déclarés comme type Double. Si j'essaie d'appeler ma méthode sans fournir ces paramètres, mon code lève l'exception suivante :
java.lang.IllegalStateException: Optional double parameter 'latitude' is present but cannot be translated into a null value due to being declared as a primitive type.
Je suppose que les paramètres ont une valeur par défaut (probablement 0.0), mais Kotlin a besoin d'un objet qui peut être nul, donc l'exception est levée.
Tout fonctionne bien si je fournis les paramètres, mais je veux que mon code fonctionne si aucun paramètre n'est fourni.
Comment puis-je éviter cette exception ?
Voici à quoi ressemble mon contrôleur :
@RestController
@RequestMapping("/api/stations")
class StationController {
@GetMapping
fun findAll(@RequestParam(value = "latitude", required = false) currentLatitude: Double,
@RequestParam(value = "longitude", required = false) currentLongitude: Double): ResponseEntity<List<Entity>> {
//Method body
}