Как правильно использовать Java 8 Optional, который может условно возвращать значение или генерировать исключение? - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу реализовать что-то вроде приведенного ниже кода для проверки входных данных в моем @RestController, чтобы я мог избежать явных нулевых проверок, однако я застрял.

public @ResponseBody Response getCityDetails(@RequestParam("city") final String city) {
    Optional.of(city).ifPresent(name -> {
        // return value
        return service.getDetails(name);
    }).orElseThrow(//some Exception);
}

1 Ответ

0 голосов
/ 03 декабря 2018

Попробуйте это

Optional.ofNullable(city)
        .map(name ->service.getDetails(name))
        .orElseThrow(//some Exception);
...