MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да изложа нов REST метод на чрез Spring Data MongoDB хранилище с ALPS/HATEOAS метаданни?

tl;dr

Ще са необходими персонализирани реализации за хранилището и контролера.

Подробности

Трябва да сме сигурни, че не се губим във всички различни аспекти, които споменавате тук. Ще се опитам да разплета клоните отдолу нагоре:

Изпълнение на MongoDB скриптове

Като справочна документация за изпълнение на скриптове с MongoDB състояния (и вие вече открихте), функционалността се предоставя by MongoTemplate ScriptOperations на . Следователно как да използвате този API трябва да е ясно. Консултирайте се с Javadoc за повече информация.

Изпълнение на скриптове чрез Spring Data хранилища

Следващото нещо, което искате, е изпълнението на тези скриптове чрез абстракцията на хранилището. За да не изхвърлим бебето заедно с водата за къпане тук, уверете се, че разбираме целта на едно хранилище:то симулира колекция от агрегатни корени и достъп до тях без да излага основния механизъм за устойчивост . Излагане на типове като ExecutableMongoScript в хранилището би нарушил последната черта. Следователно правилният подход тук е да се създаде персонализирана реализация за тази конкретна функционалност, както е описано в референтна документация за Spring Data хранилища .

Излагане на функционалността чрез REST

Предполагам, че имате предвид функцията на Spring Data REST, за да изложите специален ресурс за метода на заявка за хранилище във вашия въпрос. Понастоящем Spring Data REST излага автоматично само декларативни методи за заявки, най-вече поради причината, че е трудно да се разсъждава относно правилния HTTP метод, който да се поддържа за персонализирани реализации, тъй като не можем да познаем какво се случва вътре в метода.

Препоръчителният начин за излагане на персонализирани методи за заявка на хранилище с помощта на персонализиран контролер с @RequestMapping отговарящи на вашата цел, извикване на хранилището и използване на PersistentEntityResourceAssembler може да се инжектира в метода на манипулатора, за да се създаде PersistentEntityResource за връщане.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ConversionFailedException:запазване на DBObject, но извличането връща LinkedHashMap<?, ?>

  2. Как да изключите _id, без да включвате други полета, като използвате рамката за агрегиране

  3. Вземете стойност в справка за търсене с MongoDB и Golang

  4. Meteor JS:Клиентът не получава данни от Mongo DB

  5. Не може да изтрие колекция от mongodb