2016-02-07 13 views

risposta

6

Una differenza reale è però che response.body() accetta solo String, mentre nella richiamata è possibile return qualsiasi oggetto che può essere serializzato per String e soprattutto ruscelli.

response.body() deve essere utilizzato principalmente nei gestori di eccezioni e dopo i filtri e nella callback return nei percorsi normali.

1

Come hai sottolineato, entrambi possono essere utilizzati per impostare il corpo della risposta. Penso che @return fa parte di un tipico endpoint http.

response.body() è utile per la gestione delle eccezioni.

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

Sparkjava è un ossatura nuda e deve essere costruito sopra. response.body() rende sparkjava facilmente estendibile in contesti in cui non si ha accesso all'oggetto "return".

1

Non c'è davvero alcuna differenza su ciò che fa, ma esistono entrambi, quindi è facile impostare il corpo della risposta in diversi contesti. Ad esempio, è possibile utilizzare response.body in un gestore di eccezioni o persino in un filtro, ma come si può notare, il modo return è "più bello" in una dichiarazione di percorso.

Problemi correlati