sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur exponerar jag en ny REST-metod för genom ett Spring Data MongoDB-förråd med ALPS/HATEOAS-metadata?

tl;dr

Det kommer att behöva anpassade implementeringar för arkivet och styrenheten.

Detaljer

Vi måste se till att vi inte går vilse i alla de olika aspekterna du nämner här. Jag ska försöka reda ut grenarna nerifrån och upp:

Kör MongoDB-skript

Som referensdokumentation om exekvering av skript med MongoDB tillstånd (och du redan upptäckt), tillhandahålls funktionen by MongoTemplate s ScriptOperations . Så hur man använder det API bör vara tydligt. Konsultera Javadoc för mer information.

Exekvera skript via Spring Data-arkiv

Nästa sak du ber om är att köra dessa skript genom förvarsabstraktionen. För att inte kasta ut barnet med badvattnet här, se till att vi förstår syftet med ett förvar:det simulerar en samling av samlade rötter och tillgång till det utan att exponera den underliggande beständighetsmekanismen . Exponeringstyper som ExecutableMongoScript på förvaret skulle bryta den senare egenskapen. Det korrekta tillvägagångssättet här är alltså att skapa en anpassad implementering för just den funktionaliteten som beskrivs i referensdokumentation om Spring Data-förråd .

Exponera funktionaliteten via REST

Jag antar att du hänvisar till Spring Data RESTs funktion för att exponera en dedikerad resurs för förvarsfrågemetoden i din fråga. Spring Data REST exponerar för närvarande endast deklarativa frågemetoder automatiskt, mestadels av den anledningen att det är svårt att resonera kring rätt HTTP-metod för att stödja anpassade implementeringar eftersom vi inte kan gissa vad som händer i metoden.

Det rekommenderade sättet att exponera anpassade förvarsfrågemetoder med hjälp av en anpassad kontroller med en @RequestMapping som passar ditt syfte, anropa arkivet och använda en PersistentEntityResourceAssembler injicerbar i hanterarmetoden för att producera en PersistentEntityResource för att återvända.




  1. Hur ska jag registrera min mongodb-tjänst som använder MongoClient, Singleton eller scoped?

  2. Gruppräkning 2 objekt objekt array mongodb

  3. Hur används Redis i Trello?

  4. Bulkinsats i MongoDB med mungo