2015-01-05 14 views
1

This Guide показывает, как легко создать интерфейс RESTful для базы данных Mongo. Он создает Json-данные в формате HAL (Hypertext Application Language), но, к сожалению, я не могу найти работающий клиент Android, который поддерживает HAL.Spring MongoDB REST API без HAL?

Есть ли способ отключить этот формат HAL, а просто получить документы из БД без дополнительных затрат? Чтобы его можно было непосредственно проанализировать в моих классах типов данных?

Было бы очень полезно использовать этот подход, чтобы как-то автоматически генерировать интерфейс REST, я не могу вернуться к ручному написанию всех методов в контроллерах после просмотра этого очень короткого кода.

This post, похоже, имеет дело с одной и той же темой, но я не понимаю, как это сделать.

ответ

2

Руководство, на которое вы ссылаетесь, специально предназначено для использования Spring Data REST + Spring Data MongoDB, поэтому отключить гипермедиа для проекта, предназначенного для генерации гипермедиа, т. Е. Интерфейса RESTful, звучит очень странно.

На мобильной платформе, такой как Android, вопрос заключается в том, что вы пытаетесь сделать? Вы пытаетесь запросить один, маленький кусок JSON от MongoDB? Риск того, что у вас нет гипермедийного слоя в середине, заключается в том, что вы можете запросить гигантский (то есть набор данных) и нанести вред как серверу, так и мобильному устройству.

Для получения дополнительной информации о гипермедиа и данных о запасах весны, ознакомьтесь с ответом Оливера Гирке по телефону Disable Hypertext Application Language (HAL) in JSON?.

Что касается возможности взаимодействия между Android и HAL-сервером, то, конечно, это возможно. Возможно, вы захотите посмотреть пример приложения Roy Clarkson для Android, используемого для связи с бэкэндом HAL, который использовался в SpringOne 2014 по адресу https://github.com/SpringOne2GX-2014/spring-a-gram-android.

Слайды с этих презентаций находятся по адресу https://speakerdeck.com/gregturn/springone2gx-2014-spring-data-rest-data-meets-hypermedia.

+0

Благодарим вас за ответ. – turbopope

+0

Проблема с созданием подходящего REST-Client в Android заключается в том, что в зависимостях, которые включаются дважды, существуют конфликтующие классы. Но поскольку это всего лишь небольшой частный проект, я выбрал для меня самый простой путь, и теперь теперь я вручную записываю контроллеры REST для своего сервера. Я приму ваш ответ, так как я нашел ссылки интересными, и это помогло мне найти подходящее решение для моих нужд, хотя и не то, что я изначально планировал (надеюсь, это уместно, я новичок в SO). – turbopope