واجهات برمجة التطبيقات (APIs) لتطبيقات الويب والهاتف المحمول.
اقرأ هذا بلغات أخرى: 中文.
Elide هي مكتبة Java تتيح لك إعداد نموذج GraphQL أو JSON API مع الحد الأدنى من الجهد. يدعم Elide نوعين من واجهات برمجة التطبيقات:
يدعم Elide عددًا من الميزات:
السيطرة على الوصول إلى الحقول والكيانات من خلال بناء جملة إذن التصريح وبديهية.
يتيح JSON-API و GraphQL للمطورين جلب الرسوم البيانية للكائنات بأكملها في رحلة ذهابًا وإيابًا واحدة. يتم إرجاع العناصر المطلوبة فقط من نموذج البيانات. يعالج نهجنا الذي رأينا للطفرات سيناريوهات التطبيق المشترك:
يتم دعم التصفية والفرز والترقيم والبحث عن النص خارج الصندوق.
يدعم Elide طفرات نموذج بيانات متعددة في طلب واحد في JSON-API أو GraphQL. قم بإنشاء كائنات ، وإضافتها إلى العلاقات ، أو تعديلها أو حذفها معًا في طلب ذري واحد.
يدعم Elide الاستعلامات التحليلية ضد النماذج المصنوعة من طبقتها الدلالية القوية. تعمل APIs Elide بشكل أصلي مع Yavin لتصور بياناتك واستكشافها والإبلاغ عنها.
استكشف وفهم وتكوين استفسارات ضد API Elide الخاص بك من خلال وثائق Swagger التي تم إنشاؤها أو مخطط GraphQL.
تخصيص سلوك عمليات نموذج البيانات مع سمات محسوبة ، وشروط التحقق من صحة البيانات ، وطلب خطافات دورة الحياة.
Elide لاأدري لاستراتيجية الثبات الخاصة بك. استخدم ORM أو توفير تطبيقك الخاص لمتجر البيانات.
يمكن العثور على مزيد من المعلومات حول Elide في elide.io.
لتجربة خدمة مثال Elide ، تحقق من مشروع مثال Elide-Spring-Boot-Boot.
بدلاً من ذلك ، استخدم مشروع مثال Elide-Standalone-Example والذي يسمح لك بإعداد مثيل محلي سريعًا يعمل داخل تطبيق رصيف مضمن.
أبسط طريقة لاستخدام Elide هي الاستفادة من JPA لرسم خريطة نماذج Elide الخاصة بك إلى الثبات:
يجب أن تمثل النماذج نموذج المجال لخدمة الويب الخاصة بك:
@ Entity
public class Book {
@ Id
private Integer id ;
private String title ;
@ ManyToMany ( mappedBy = "books" )
private Set < Author > authors ;
}أضف التعليقات التوضيحية Elide إلى كل من تعريض النماذج الخاصة بك من خلال خدمة الويب وتحديد سياسات الأمان للوصول:
@ 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 ;
}أضف خطافات دورة الحياة إلى نماذجك لتضمين منطق الأعمال المخصص الذي ينفذ خطًا مع عمليات CRUD من خلال خدمة الويب:
@ 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
}
}تعبيرات MAP إلى وظائف الأمان أو المتنبئين التي يتم دفعها إلى طبقة الثبات:
@ SecurityCheck ( "Admin" )
public static class IsAdminUser extends UserCheck {
@ Override
public boolean ok ( User user ) {
return isUserInRole ( user , UserRole . admin );
}
}لفضح هذه النماذج والاستعلام عنها ، اتبع الخطوات الموثقة في دليل البدء.
على سبيل المثال مكالمات API ، انظر إلى:
يمكن إنشاء النماذج التحليلية بما في ذلك الجداول والتدابير والأبعاد والوصول إما كـ POJOS أو مع لغة تكوين HJSON ودية:
{
tables: [
{
name: Orders
table: order_details
measures: [
{
name: orderTotal
type: DECIMAL
definition: 'SUM({{$order_total}})'
}
]
dimensions: [
{
name: orderId
type: TEXT
definition: '{{$order_id}}'
}
]
}
]
}
يمكن العثور على مزيد من المعلومات حول تكوين أو الاستعلام عن النماذج التحليلية هنا.
تم توثيق الأمن بتعمق هنا.
يرجى الرجوع إلى ملف المساهمة. للحصول على معلومات حول كيفية المشاركة. نرحب بالمشكلات والأسئلة وطلبات السحب.
إذا كنت تساهم في استخدام ELIDE باستخدام IDE ، مثل Intellij ، تأكد من تثبيت البرنامج المساعد Lombok.
الدردشة المجتمعية الآن على خلاف. انضم بالنقر هنا.
تم ترخيص هذا المشروع بموجب شروط ترخيص Apache 2.0 مفتوح المصدر. يرجى الرجوع إلى ترخيص للشروط الكاملة.
مقدمة إلى فيديو Elide
قم بإنشاء خدمة REST JSON API مع SPRING BOOT و ELIDE
أمان مخصص مع خادم Boot Boot/Elide JSON API
تسجيل الدخول إلى خادم Boot Boot/Elide JSON API
تأمين خدمة REST JSON API مع SPRING BOOT و ELIDE
إنشاء كيانات في SPRING BOOT/ELIDE JSON API Server
التحديث والحذف مع خادم Boot/Elide JSON API