Attualmente ho un progetto utilizzando un controller Spring e Thymeleaf per creare una piccola app browser. La classe controller viene dichiarata comeSpring MVC, Thymeleaf & REST
@Controller public class MyController {
all'interno del controllore ho una come
@RequestMapping(value = "/foobars", method = RequestMethod.GET)
String index(Model model, --- more params ---) {
//call repository and get foobarsList
//model.addAttribute("foobars", foobarsList);
...
return "foobars/foobarThymeleafTemplate"
}
Il repository chiamata GET definito e ottenere foobarList è una chiamata a un MongoRepository definito come:
public interface FoobarRepository extends MongoRepository< ... cut for brevity> {
@RestResource(rel = "by-id")
Marker findMarkerById(String id);
... additional @RestResources cut for brevity ...
}
Ancora, il Br Owser App sembra grande. Il GET chiama il repository, popola il modello con l'elenco di foobars e Thymeleaf fa tutto ciò con quell'elenco.
PROBLEMA: Ora ho bisogno di accedere a quegli stessi dati da un Android App ed io preferirei usare REST e JSON solo consumare in App Android. Voglio mantenere Thymeleaf ma, se necessario, ridichiarò l'app del browser.
DOMANDA: C'è un modo per utilizzare in qualche modo lo stesso @Controller o dovrò mantenere un secondo FoobarRestController utilizzando @RestController con/restFoobars endpoint? Il secondo controller REST funziona di sicuro, ma sembra un po 'sciatto ... design scadente.
I vostri pensieri e raccomandazioni?
Grazie ancora. -Rich
anche se hai risposto a questo due anni fa, e sono d'accordo con una completa API di riposo per il back-end e quindi utilizzando un framework javascript per il front end dovrebbe essere logicamente quello che la comunità dovrebbe sforzarsi, tuttavia non ci sono ancora quasi domande su stackoverflow e ancora quasi nessuna documentazione o tutorial su come farlo, o la comunità Java è molto resistente a cambiare, o semplicemente non funziona così bene a lungo termine, cosa ne pensi? –