Ich verwende die Google Preconditions-Klasse, um die Eingabedaten des Benutzers zu überprüfen.
Aber ich bin besorgt, wo ist der beste Punkt der Benutzer Eingabedaten mit Preconditions Klasse zu überprüfen.
Zuerst schrieb ich Check-Code-Validierung in-Controller wie folgt:Überprüfen Sie die Vorbedingungen in der Controller- oder Serviceschicht
@Controller
...
public void register(ProductInfo data) {
Preconditions.checkArgument(StringUtils.hasText(data.getName()),
"Empty name parameter.");
productService.register(data);
}
@Service
...
public void register(ProductInfo data) {
productDao.register(data);
}
Aber ich dachte, dass register
Verfahren in Service-Schicht wie unter einer anderen Controller-Methode wäre mit:
@Controller
...
public void register(ProductInfo data) {
productService.register(data);
}
public void anotherRegister(ProductInfo data) {
productService.register(data);
}
@Service
...
public void register(ProductInfo data) {
Preconditions.checkArgument(StringUtils.hasText(data.getName()),
"Empty name parameter.");
productDao.register(data);
}
Auf der anderen Seite würde die Methode der Dienstschicht in nur einem Controller verwendet werden.
Ich war verwirrt. Was ist der beste Weg, die Voraussetzungen in Controller oder Service zu überprüfen?
Vielen Dank im Voraus.
Ich stimme definitiv zu, dass Sie die Bean-Validierung verwenden sollten, insbesondere wenn Ihr DAO ORM verwendet. – hyness