Java-бэкэнд и интерфейс Grails - PullRequest
0 голосов
/ 29 января 2012

Я сделал внутреннюю часть проекта в Java (Maven) и использую дизайн Restful.

Структура в Java / (Maven):

1) слой домена

2) слой данных

3) webservicelayer (клиент)

И часть интерфейса будет выполнена в groovy / grails.

Единственные части, которые я делаю для написания в Grails: контроллеры и представления.

Структура:

1) Контроллеры

2) просмотров

Мой вопрос: как мы можем связать их две части вместе? Так как Restful часть написана на Maven и создает файл войны.

Как мне подключить интерфейс к серверу?

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Одна из действительно замечательных функций Grails - это GORM, поэтому я не уверен, почему вы хотите пропустить эту часть. Обычно вы используете контроллер только в том случае, если вам нужно получить некоторые данные из бэкэнда и затем перейти к представлению. В вашем случае вы уже написали бэкэнд, так что вы могли бы просто сделать ajax-страницы, которые вызывают интерфейс REST, и это может быть все, что вам нужно. Если это так, то вам вряд ли нужны грааль; Вы можете просто поместить статические страницы в папку src / main / webapp вашего проекта, и все готово. С другой стороны, если вы хотите использовать grails для страниц GSP, вы можете заставить контроллеры быть бездействующими (так что на самом деле это просто указание маршрутов) и иметь представление в виде страниц GSP, которые выполняют вызовы ajax. Если вы собираетесь это сделать, обязательно ознакомьтесь с jquery, поскольку у него действительно хорошая поддержка ajax.

0 голосов
/ 29 января 2012

REST использует HTTP, так что ваше приложение Grails будет его клиентом. Хотя иметь Grails посередине немного расточительно, вы, вероятно, можете спроектировать свой интерфейс в JS и делать все это в браузере, минуя Grails.

Если вы склонны идти по пути Grails, вам понадобится HTTP-клиент (обычный клиент HTTP-клиента), а затем на принимающей стороне вы сможете анализировать ответы, именно здесь Grails будет на самом деле полезно. У grails.converters есть хороший метод для вас

JSON.parse(responseText)

Вполне возможно, что есть лучший способ разбора или выполнения клиентского HTTP. Например, плагин функционального тестирования Grails оборачивает HTTP-библиотеку, поэтому у вас есть отличное ощущение этого общения. Возможно, вы захотите посмотреть, как это делается там. Не уверен, что можно сделать что-нибудь лучше в отношении анализа JSON.

НТН, Алекс.

...