Meinungen APIs für Web- und Mobilanwendungen.
Lesen Sie dies in anderen Sprachen: 中文.
Elide ist eine Java -Bibliothek, mit der Sie mit modellgesteuerten modellgesteuerten GraphQL- oder JSON -API -Webdienst mit minimalem Aufwand einrichten können. Elide unterstützt zwei API -Varianten:
Elide unterstützt eine Reihe von Funktionen:
Kontrollieren Sie den Zugang zu Feldern und Unternehmen durch eine deklarative, intuitive Berechtigungssyntax.
Mit JSON-API & GraphQL können Entwickler ganze Objektdiagramme in einer einzelnen Hin- und Rückfahrt abrufen. Nur angeforderte Elemente des Datenmodells werden zurückgegeben. Unser eigener Ansatz für Mutationen befasst sich mit allgemeinen Anwendungsszenarien:
Filterung, Sortierung, Pagination und Textsuche werden außerhalb des Feldes unterstützt.
Elide unterstützt mehrere Datenmodellmutationen in einer einzelnen Anforderung in JSON-API oder GraphQL. Erstellen Sie Objekte, fügen Sie sie zu Beziehungen hinzu, ändern oder löschen Sie sie in einer einzigen Atomanforderung.
Elide unterstützt analytische Abfragen gegen Modelle, die mit seiner leistungsstarken semantischen Schicht hergestellt wurden. Elide -APIs arbeiten nativ mit Yavin zusammen, um Ihre Daten zu visualisieren, zu erforschen und zu melden.
Erforschen, verstehen und komponieren Sie Abfragen an Ihrer Elide -API durch generierte SWAGVE -Dokumentation oder GraphQL -Schema.
Passen Sie das Verhalten von Datenmodelloperationen mit berechneten Attributen, Anmerkungen zur Datenvalidierung und Anforderungen von Lebenszyklushaken an.
Elide ist agnostisch für Ihre spezielle Persistenzstrategie. Verwenden Sie ein ORM oder geben Sie eine eigene Implementierung eines Datenspeichers an.
Weitere Informationen über Elide finden Sie in Elide.io.
Um einen Elide-Beispieldienst auszuprobieren, lesen Sie das Projekt Elide-String-Boot-Beispiel.
Verwenden Sie alternativ das Elide-Standalone-Beispielprojekt, mit dem Sie schnell eine lokale Instanz der Elide einrichten können, die in einer eingebetteten Steganwendung ausgeführt wird.
Der einfachste Weg, Elide zu verwenden, besteht darin, JPA zu nutzen, um Ihre Elide -Modelle auf Persistenz zuzuordnen:
Die Modelle sollten das Domänenmodell Ihres Webdienstes darstellen:
@ Entity
public class Book {
@ Id
private Integer id ;
private String title ;
@ ManyToMany ( mappedBy = "books" )
private Set < Author > authors ;
}Fügen Sie Elide -Anmerkungen hinzu, um beide Ihre Modelle über den Webdienst aufzudecken und Sicherheitsrichtlinien für den Zugriff zu definieren:
@ Entity
@ Include ( rootLevel = true )
@ ReadPermission ( "Everyone" )
@ CreatePermission ( "Admin OR Publisher" )
@ DeletePermission ( "None" )
@ UpdatePermission ( "None" )
public class Book {
@ Id
private Integer id ;
@ UpdatePermission ( "Admin OR Publisher" )
private String title ;
@ ManyToMany ( mappedBy = "books" )
private Set < Author > authors ;
}Fügen Sie Ihren Modellen Lebenszyklushaken hinzu, um die benutzerdefinierte Geschäftslogik einzubetten, die Inline mit CRUD -Operationen über den Webdienst ausführen:
@ Entity
@ Include ( rootLevel = true )
@ ReadPermission ( "Everyone" )
@ CreatePermission ( "Admin OR Publisher" )
@ DeletePermission ( "None" )
@ UpdatePermission ( "None" )
@ LifeCycleHookBinding ( operation = UPDATE , hook = BookCreationHook . class , phase = PRECOMMIT )
public class Book {
@ Id
private Integer id ;
@ UpdatePermission ( "Admin OR Publisher" )
private String title ;
@ ManyToMany ( mappedBy = "books" )
private Set < Author > authors ;
}
public class BookCreationHook implements LifeCycleHook < Book > {
@ Override
public void execute ( LifeCycleHookBinding . Operation operation ,
LifeCycleHookBinding . TransactionPhase phase ,
Book book ,
RequestScope requestScope ,
Optional < ChangeSpec > changes ) {
//Do something
}
}Karten Sie Ausdrücke in Sicherheitsfunktionen oder Prädikate, die auf die Persistenzschicht gedrängt werden:
@ SecurityCheck ( "Admin" )
public static class IsAdminUser extends UserCheck {
@ Override
public boolean ok ( User user ) {
return isUserInRole ( user , UserRole . admin );
}
}Um diese Modelle aufzudecken und abzufragen, befolgen Sie die Schritte, die im Leitfaden für Erste Schritte dokumentiert sind.
Sehen Sie sich beispielsweise API -Anrufe an:
Analytische Modelle, einschließlich Tabellen, Maßnahmen, Dimensionen und Verbindungen, können entweder als Pojos oder mit einer freundlichen HJSON -Konfigurationssprache erstellt werden:
{
tables: [
{
name: Orders
table: order_details
measures: [
{
name: orderTotal
type: DECIMAL
definition: 'SUM({{$order_total}})'
}
]
dimensions: [
{
name: orderId
type: TEXT
definition: '{{$order_id}}'
}
]
}
]
}
Weitere Informationen zum Konfigurieren oder Abfragen von Analysemodellen finden Sie hier.
Die Sicherheit wird hier ausführlich dokumentiert.
Weitere Informationen zur Einbindung finden Sie in der Datei für die beitragen.md.md -Datei. Wir begrüßen Probleme, Fragen und ziehen Anfragen.
Wenn Sie dazu beitragen, mit einer IDE wie Intellij zu elide zu gehen, stellen Sie sicher, dass Sie das Lombok -Plugin installieren.
Community -Chat ist jetzt auf Zwietracht. Melden Sie sich an, indem Sie hier klicken.
Dieses Projekt ist unter den Bestimmungen der Open -Source -Lizenz von Apache 2.0 lizenziert. Bitte beachten Sie die Lizenz für die vollständigen Bedingungen.
Intro zum Elidvideo
Erstellen Sie einen JSON -API -REST -Service mit Spring Boot und Elide
Benutzerdefinierte Sicherheit mit einem Spring Boot/Elide JSON API -Server
Anmelden bei einem Spring Boot/Elide JSON API -Server
Sicherung eines JSON -API -REST -Service mit Spring Boot und Elide
Erstellen von Entitäten in einem Spring Boot/Elide JSON API -Server
Aktualisieren und Löschen mit einem Spring Boot/Elide JSON API -Server