2016-02-07 8 views

Antwort

6

Ein jedoch tatsächlicher Unterschied ist, dass response.body() akzeptiert nur String, während in dem Rückruf können Sie jedes Objekt return, den String serialisiert werden kann und vor allem Bächen.

response.body() sollte meist in Ausnahmehandlern und nach Filtern verwendet werden, und der Rückruf return in normalen Routen.

1

Wie Sie bereits darauf hingewiesen haben, können beide verwendet werden, um den Antworttext festzulegen. Ich denke, das @ return ist Teil eines typischen http Endpunktes.

response.body() ist nützlich für die Ausnahmebehandlung.

exception(NotFoundException.class, (e, request, response) -> { 
    response.status(404); 
    response.body("Resource not found"); 
}); 

Sparkjava ist ein blankes Framework, das darauf gebaut werden soll. response.body() macht sparkjava leicht erweiterbar in Kontexten, in denen Sie keinen Zugriff auf das "return" -Objekt haben.

1

Es gibt keinen Unterschied in der Funktionsweise, aber beide existieren, so dass es einfach ist, den Antworttext in verschiedenen Kontexten zu setzen. Zum Beispiel könnten Sie response.body in einem Exception-Handler oder sogar Filter verwenden, aber wie Sie vielleicht bemerken, ist der return Weg "netter" in einer Route-Deklaration.