Ich versuche, einen RequestDispatcher mit DropWizard zu implementieren, die Entität im Körper auf Beiträge betrachten und bestimmte Statistiken berechnen soll.Trikot requestdispatcher Ausführungsreihenfolge
so implementiert ich eine ResourceMethodDispatchAdapter
und ResourceMethodDispatchProvider
und ich bin in der Lage, erfolgreich zu injizieren und meine Request aufrufen,
private static class InspectRequestDispatcher implements RequestDispatcher {
private final RequestDispatcher dispatcher;
private InspectRequestDispatcher(RequestDispatcher dispatcher) {
this.dispatcher = dispatcher;
}
@Override
public void dispatch(final Object resource, final HttpContext context) {
final Saying day = context.getRequest().getEntity(Saying.class);
dispatcher.dispatch(resource, context); // this throws ConstraintViolationException
}
}
Der obige Code Ausnahme auslöst, da ich bereits den Körper gelesen haben (was verständlich ist), Ich könnte den Stream zurücksetzen, aber dann werde ich die Strafe für das Lesen des Körpers zweimal bezahlen.
Ist es möglich, Methodenaufruf AFTER Parameter injiziert wurden? Plane diesen Abfangjäger irgendwie als den letzten?
mit dropwizard 7 Version