Wie schreibt man ein mit Java 8?
Ich bin neu in Java 8 Optional. Habe ich ändern Sie den folgenden code :
@RequestMapping(value = "/account",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<UserDTO> getAccount() {
return
Optional.ofNullable(userService.getUserWithAuthorities())
.map(user ->
new ResponseEntity<>(
new UserDTO(
user.getLogin(),
null,
user.getFirstName(),
user.getLastName(),
user.getEmail(),
"",
user.getLangKey(),
user.getAuthorities()
.stream()
.map(Authority::getName)
.collect(Collectors.toList())
),
HttpStatus.OK
)
)
.orElse(new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR));
}
Will ich schaffen, einen anderen ResponseEntity nach der Instanz von user
.
Wie kann ich schreiben das äquivalent zum folgenden code:
if(user instanceof Admin )
{
//my logic
}
else if(user instanceof NormalUser)
{
//my logic
}
Dank
ja, ich korrigiere es
InformationsquelleAutor Pracede | 2015-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würden Sie es so machen :
Allerdings, wenn Sie können, vermeiden Sie die
instanceof
Betreiber. Hinzufügen einesisAdmin
Methode, um IhreUser
Klasse : in der KlasseAdmin
, würde es wiedertrue
und in der KlasseNormalUser
, würde es wiederfalse
.InformationsquelleAutor Tunaki
Die Art und Weise Sie es getan hat. Aber Sie haben gewirkt
u
auf die Art, die Sie wollen.Ja, das würde gehen, an die Stelle der UserDTO Konstruktor-Aufruf.
ja, Sie können.
InformationsquelleAutor bb94