8 repository-uri
Architectural patterns for building large services by nesting smaller API definitions within a parent.
Distinct from Modular Program Composition: Focuses specifically on the hierarchical nesting of API routes/services rather than general module composition.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Nested API Definitions. Refine with filters or upvote what's useful.
Grape is a RESTful web service framework for Ruby designed for building structured APIs. It provides a declarative syntax for routing and parameter validation, allowing developers to map HTTP verbs to logic through a domain specific language. The framework is distinguished by its built-in support for service versioning, which can be managed via URL paths, custom headers, or request parameters. It also features a modular architecture that allows large services to be constructed by nesting smaller API definitions. The project covers comprehensive API lifecycle capabilities, including schema-dr
Allows large services to be constructed by nesting smaller, modular API definitions.
Restangular is a REST client and resource mapper for AngularJS applications. It provides a suite of tools for mapping API endpoints to local objects and collections, facilitating frontend CRUD implementation through standard HTTP methods. The project distinguishes itself through an async data binding system that links user interface elements to server-side objects, ensuring automatic updates upon request completion. It also features a programmable request interceptor pipeline for modifying headers and transforming responses, as well as a JSONP request handler to bypass same-origin policy rest
Handles hierarchical API paths by linking parent and child resource requests to automate complex URL construction.
Qor este un framework de administrare Go și un toolkit backend utilizat pentru construirea de interfețe administrative, sisteme de gestionare a conținutului (CMS) headless și generatoare de API REST. Oferă un mediu structurat pentru implementarea backend-urilor aplicațiilor de business, specializându-se în gestionarea conținutului structurat și a activelor media. Proiectul se distinge prin gestionarea cuprinzătoare a conținutului în mai multe limbi, având versionarea datelor bazată pe locale și un sistem dedicat pentru internaționalizare și administrarea traducerilor. Se diferențiază în continuare prin implementarea încorporată a unei mașini de stări (state machine) pentru automatizarea proceselor de business și un flux de lucru de staging al conținutului pentru revizuirea modificărilor înainte de publicare. Framework-ul acoperă o gamă largă de capabilități, inclusiv controlul accesului bazat pe roluri, gestionarea sesiunilor și programarea joburilor de fundal. Suprafața sa de gestionare a datelor include override-uri pentru handler-ele CRUD, gestionarea relațiilor și un UI bazat pe metadate care generează dashboard-uri și input-uri de formulare pe baza definițiilor resurselor backend. În plus, oferă instrumente pentru generarea de API-uri RESTful cu suport pentru negocierea conținutului și endpoint-uri imbricate. Sistemul permite optimizarea deployment-ului prin compilarea template-urilor HTML direct în binarul aplicației Go pentru a elimina dependențele de sistemul de fișiere.
Implements hierarchical routes based on data relationships to manage child resources tied to parent records.
AsyncAPI este un standard de specificație lizibil de către mașină pentru definirea și documentarea interfețelor bazate pe evenimente și a arhitecturilor asincrone bazate pe mesaje. Acesta oferă un framework unificat pentru modelarea structurii sistemelor distribuite, incluzând definirea serverelor, canalelor, mesajelor și operațiunilor. Specificația se distinge prin utilizarea unui strat de design agnosticism față de protocol, care separă definițiile de bază ale interfeței de configurațiile specifice transportului. Acest lucru permite dezvoltatorilor să mențină o singură sursă de adevăr, adaptându-se în același timp cerințelor unice ale diverselor tehnologii de mesagerie precum Kafka, MQTT sau WebSockets. De asemenea, susține medii distribuite complexe prin activarea corelării mesajelor la momentul designului și urmărirea expresiilor la runtime pentru o observabilitate îmbunătățită. Proiectul acoperă o suprafață largă de capabilități, incluzând scheme de securitate declarative pentru autentificare și autorizare, precum și modelarea standardizată a datelor folosind formate precum JSON Schema sau Avro. Oferă, de asemenea, mecanisme pentru modularizarea definițiilor mari de API prin componente reutilizabile și registre, ceea ce facilitează guvernanța organizațională și consistența. Specificația este menținută ca un set de fișiere de documentație standardizate, oferind o fundație pentru provizionarea automatizată a infrastructurii și gestionarea topologiilor de rețea bazate pe evenimente.
Provides mechanisms for modularizing large API definitions through reusable components and references.
Acesta este un client HTTP Ruby conceput pentru integrarea REST API, modelarea resurselor și comunicarea automatizată în rețea. Oferă un set de instrumente pentru gestionarea header-elor, cookie-urilor și configurațiilor SSL, alături de o interfață dedicată în linie de comandă pentru executarea comenzilor HTTP unice și gestionarea sesiunilor interactive de testare API. Proiectul se diferențiază prin capabilitățile sale de modelare a resurselor, care permit definirea URL-urilor de bază persistente și a credențialelor pentru a construi endpoint-uri de subresurse imbricate. De asemenea, dispune de un handler pentru cereri multipart care detectează tipurile MIME pentru a încărca fișiere și a transmite payload-uri mari. În linii mari, biblioteca acoperă securitatea rețelei prin configurarea SSL și TLS, gestionarea traficului prin rutare proxy și menținerea cookie jar-ului, precum și optimizări de performanță folosind streaming incremental atât pentru payload-urile cererilor, cât și pentru corpurile răspunsurilor. Include, de asemenea, utilitare pentru logarea activității de rețea și interceptarea execuției cererilor.
Supports hierarchical API paths by chaining resource requests to build complex URLs without manual construction.
moco is a multi-protocol mock server and programmable API stub used to simulate HTTP, REST, WebSocket, and Server-Sent Events endpoints. It enables the creation of fake backend services to facilitate development and integration testing without requiring a live server. The project distinguishes itself through its ability to act as a network traffic replay tool, capturing real request-response pairs via a proxy and playing them back locally. It also supports bidirectional communication simulations, including WebSocket server simulation and SSE stream simulation with configurable delivery delays
Creates sub-resources using nested URI paths to represent complex entity relationships in a mock API.
utoipa is a Rust API documentation tool used to generate machine-readable OpenAPI specifications. It functions as a specification generator and schema mapper that converts Rust structs and enums into compliant OpenAPI schemas. The project distinguishes itself by using procedural macros and traits to automate metadata extraction from code. It supports complex data modeling, including generics, polymorphism, and recursive type resolution, while synchronizing field renaming and tagging from serialization attributes. It also enables the composition of modular specifications, allowing multiple sma
Supports organizing large API specifications by nesting smaller, modular API definitions within a root instance.
likec4 is an architecture-as-code framework that transforms text-based architecture definitions into interactive diagrams, static websites, and image files. It serves as a system architecture visualizer and C4 model diagram generator, allowing users to define software components, boundaries, and deployment infrastructure using a domain-specific language. The tool distinguishes itself by providing a modeling environment with Language Server Protocol integration for real-time validation and autocomplete. It enables interactive architecture documentation where users can navigate through hierarch
Allows defining internal components in separate files to keep top-level architectural views clean and manageable.