У меня в настоящее время есть проект с помощью контроллера Spring и Thymeleaf для создания небольшого приложения для браузера. Класс контроллера объявленSpring MVC, Thymeleaf & REST
@Controller public class MyController {
Внутри контроллера У меня есть ПОЛУЧИТЬ определяется как
@RequestMapping(value = "/foobars", method = RequestMethod.GET)
String index(Model model, --- more params ---) {
//call repository and get foobarsList
//model.addAttribute("foobars", foobarsList);
...
return "foobars/foobarThymeleafTemplate"
}
В хранилище вызовов и получить foobarList призыв к MongoRepository определяется как:
public interface FoobarRepository extends MongoRepository< ... cut for brevity> {
@RestResource(rel = "by-id")
Marker findMarkerById(String id);
... additional @RestResources cut for brevity ...
}
Опять же, броузер er App выглядит великолепно. GET вызывает репозиторий, заполняет модель со списком foobars и Thymeleaf делает это с этим списком.
ПРОБЛЕМА: Теперь мне нужно получить доступ к этим же данным из Android App, и я предпочел бы использовать REST и просто потреблять JSON в Android App. Я хочу сохранить Thymeleaf, но при необходимости реорганизует приложение браузера.
ВОПРОС: Есть ли способ, чтобы каким-то образом использовать тот же @Controller или мне придется поддерживать вторую FoobarRestController используя @RestController с/restFoobars конечными точками? Второй контроллер REST работает наверняка, но, похоже, это небрежный ... плохой дизайн.
Ваши мысли и рекомендации?
Еще раз спасибо. -Rich
Если вы ответили это два года назад, и я согласен с использованием полного отдыха api для задней части, а затем использование фреймворка javascript для переднего конца должно логически быть тем, к чему должно стремиться сообщество, однако вопросов по-прежнему почти нет в stackoverflow и практически без документации или учебников о том, как это сделать, либо сообщество Java очень сопротивляется изменению, либо это просто не так хорошо работает в долгосрочной перспективе, как вы думаете? –