APIs ความคิดเห็นสำหรับแอปพลิเคชันเว็บและมือถือ
อ่านสิ่งนี้ในภาษาอื่น: 中文
Elide เป็นไลบรารี Java ที่ให้คุณตั้งค่า GRAPHQL หรือบริการเว็บ JSON API ด้วยความพยายามน้อยที่สุด Elide รองรับ APIs สองสายพันธุ์:
Elide รองรับคุณสมบัติหลายประการ:
ควบคุมการเข้าถึงฟิลด์และเอนทิตีผ่านไวยากรณ์การอนุญาตที่ใช้งานง่ายและใช้งานง่าย
JSON-API & GRAPHQL ช่วยให้นักพัฒนาดึงกราฟวัตถุทั้งหมดในการเดินทางรอบเดียว องค์ประกอบที่ร้องขอของแบบจำลองข้อมูลเท่านั้นที่จะถูกส่งกลับ วิธีการที่เราแสดงความคิดเห็นสำหรับการกลายพันธุ์ที่อยู่สถานการณ์แอปพลิเคชันทั่วไป:
การกรองการเรียงลำดับการปนเปื้อนและการค้นหาข้อความได้รับการสนับสนุนนอกกรอบ
Elide รองรับการกลายพันธุ์ของโมเดลข้อมูลหลายรายการในคำขอเดียวใน JSON-API หรือ GraphQL สร้างวัตถุเพิ่มความสัมพันธ์แก้ไขหรือลบด้วยกันในคำขออะตอมเดียว
Elide สนับสนุนการค้นหาการวิเคราะห์กับโมเดลที่สร้างขึ้นด้วยเลเยอร์ความหมายที่ทรงพลัง Elide APIs ทำงานร่วมกับ Yavin เพื่อให้เห็นภาพสำรวจและรายงานข้อมูลของคุณ
สำรวจทำความเข้าใจและเขียนแบบสอบถามกับ ELIDE API ของคุณผ่านเอกสาร Swagger ที่สร้างขึ้นหรือ schema GraphQL
ปรับแต่งพฤติกรรมของการดำเนินการแบบจำลองข้อมูลด้วยแอตทริบิวต์ที่คำนวณคำอธิบายประกอบการตรวจสอบข้อมูลและขอเบ็ดวัฏจักร Lifecycle
Elide เป็นผู้ไม่เชื่อเรื่องพระเจ้าสำหรับกลยุทธ์การคงอยู่ของคุณโดยเฉพาะ ใช้ ORM หรือให้การใช้งานที่เก็บข้อมูลของคุณเอง
ข้อมูลเพิ่มเติมเกี่ยวกับ elide สามารถดูได้ที่ elide.io
หากต้องการลองใช้บริการตัวอย่าง elide ลองดูโครงการ Elide-Spring-Boot-Example
อีกทางเลือกหนึ่งใช้โครงการ Elide-Standalone-Example ซึ่งช่วยให้คุณสามารถตั้งค่าอินสแตนซ์ท้องถิ่นของ Elide ที่ทำงานภายในแอปพลิเคชัน Jetty แบบฝังได้อย่างรวดเร็ว
วิธีที่ง่ายที่สุดในการใช้ 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 ;
}เพิ่ม hooks วงจรชีวิตในโมเดลของคุณเพื่อฝังตรรกะทางธุรกิจที่กำหนดเองที่ดำเนินการแบบอินไลน์ด้วยการดำเนินการ 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
}
}การแสดงออกของแผนที่ไปยังฟังก์ชั่นความปลอดภัยหรือเพรดิเคตที่ถูกผลักไปยังเลเยอร์การคงอยู่:
@ 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}}'
}
]
}
]
}
ข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าหรือการสืบค้นแบบจำลองการวิเคราะห์สามารถดูได้ที่นี่
ความปลอดภัยมีการบันทึกไว้ในเชิงลึกที่นี่
โปรดดูไฟล์ MD ที่มีส่วนร่วมสำหรับข้อมูลเกี่ยวกับวิธีการมีส่วนร่วม เรายินดีต้อนรับปัญหาคำถามและดึงคำขอ
หากคุณมีส่วนร่วมในการใช้ Elide โดยใช้ IDE เช่น Intellij ตรวจสอบให้แน่ใจว่าได้ติดตั้งปลั๊กอินลอมบอก
การแชทชุมชนกำลังอยู่ในความไม่ลงรอยกัน เข้าร่วมโดยคลิกที่นี่
โครงการนี้ได้รับใบอนุญาตภายใต้ข้อกำหนดของใบอนุญาตโอเพ่นซอร์ส Apache 2.0 โปรดดูใบอนุญาตสำหรับข้อกำหนดทั้งหมด
อินโทรไปยัง Elide Video
สร้างบริการ REST JSON API ด้วย Spring Boot และ Elide
ความปลอดภัยที่กำหนดเองพร้อมเซิร์ฟเวอร์ Spring Boot/Elide JSON API
เข้าสู่ระบบสปริงบูท/elide json api เซิร์ฟเวอร์
การรักษาความปลอดภัยบริการ REST JSON API ด้วย Spring Boot และ Elide
การสร้างเอนทิตีในสปริงบูท/elide json api เซิร์ฟเวอร์
การอัปเดตและการลบด้วยเซิร์ฟเวอร์สปริงบูต/elide json api