Ich habe einen Controller Benutzer zu sortierenDie Anzahl der Anfragen an die Abfrage gesendet
@GetMapping(value = "/users", produces = MediaType.APPLICATION_JSON_VALUE)
public HttpEntity<List<User>> getUsers(
@RequestParam(required = false) String q,
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "1") int pageSize,
@RequestParam(required = false, defaultValue = "id") String sort
) {
return Optional
.ofNullable(q)
.map(v -> ResponseEntity.ok().body(userService.findByUsernameContaining(q, page - 1, pageSize, new Sort(Sort.Direction.ASC, sort))))
.orElseGet(() ->
ResponseEntity.ok().body(userService.findAll(page - 1, pageSize, new Sort(Sort.Direction.ASC, sort)))
);
}
, die als Parameter 4 Werte annehmen kann. Es sieht nicht zu ästhetisch aus und ich frage mich, wie es visuell verbessert werden kann.
Ich habe mich gefragt, ob ich eine Klasse mit diesen vier Variablen erstellen und dann eine Methode erstellen soll, die @ModelAttribute registriert ist. Ich habe es jedoch schnell aufgegeben, weil ich 'defaultValue' nicht wie nötig einstellen kann.
Die Art und Weise, die ich kam, war, den Parameter 'ID' und die anderen drei zu lassen, um das 'Pegeable' Objekt mit '@PageableDefault' mit den Werten auf 'size = 1, page = 1 angehängt zu machen , sort = "id". Diese Methode wird jedoch auch nicht bestehen, da ich beim Übergeben der Seitennummer an die Site unbedingt 1 von dem Wert von "page" subtrahieren muss, und in diesem Fall ist es unmöglich.
Haben Sie eine Idee?