9 Repos
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 9 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 ist ein Go-Admin-Framework und Backend-Toolkit, das für den Aufbau administrativer Interfaces, Headless-Content-Management-Systeme und REST-API-Generatoren verwendet wird. Es bietet eine strukturierte Umgebung für die Implementierung von Business-Application-Backends und ist auf die Verwaltung strukturierter Inhalte und Medien-Assets spezialisiert. Das Projekt zeichnet sich durch umfassendes, mehrsprachiges Content-Management aus, das locale-basierte Datenversionierung und ein dediziertes System für Internationalisierung und Übersetzungsverwaltung bietet. Es differenziert sich zudem durch eine integrierte Zustandsautomaten-Implementierung (State Machine) für die Automatisierung von Geschäftsprozessen und einen Content-Staging-Workflow zur Überprüfung von Änderungen vor der Veröffentlichung. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich rollenbasierter Zugriffskontrolle, Sitzungsmanagement und Planung von Hintergrundjobs. Die Datenverwaltung umfasst CRUD-Handler-Overrides, Beziehungsmanagement und ein metadatengesteuertes UI, das Dashboards und Formulareingaben basierend auf Backend-Ressourcendefinitionen generiert. Zudem bietet es Tools für die RESTful-API-Generierung mit Unterstützung für Content-Negotiation und verschachtelte Endpunkte. Das System ermöglicht Bereitstellungsoptimierung, indem HTML-Templates direkt in die Go-Anwendungs-Binary kompiliert werden, um Dateisystemabhängigkeiten zu entfernen.
Implements hierarchical routes based on data relationships to manage child resources tied to parent records.
AsyncAPI ist ein maschinenlesbarer Spezifikationsstandard zum Definieren und Dokumentieren ereignisgesteuerter Schnittstellen und asynchroner, nachrichtenbasierter Architekturen. Es bietet ein einheitliches Framework zur Modellierung der Struktur verteilter Systeme, einschließlich der Definition von Servern, Kanälen, Nachrichten und Operationen. Die Spezifikation zeichnet sich durch ein protokollunabhängiges Design aus, das Kern-Schnittstellendefinitionen von transport-spezifischen Konfigurationen trennt. Dies ermöglicht Entwicklern eine einzige „Source of Truth“, während gleichzeitig die spezifischen Anforderungen verschiedener Messaging-Technologien wie Kafka, MQTT oder WebSockets erfüllt werden. Zudem unterstützt es komplexe verteilte Umgebungen durch Design-Time-Nachrichtenkorrelation und Runtime-Expression-Tracking für eine verbesserte Observability. Das Projekt deckt ein breites Spektrum an Funktionen ab, darunter deklarative Sicherheitsschemata für Authentifizierung und Autorisierung sowie standardisierte Datenmodellierung mittels Formaten wie JSON Schema oder Avro. Es bietet zudem Mechanismen zur Modularisierung großer API-Definitionen durch wiederverwendbare Komponenten und Registries, was die organisatorische Governance und Konsistenz erleichtert. Die Spezifikation wird als Satz standardisierter Dokumentationsdateien gepflegt und bildet die Grundlage für die automatisierte Infrastrukturbereitstellung und das Management ereignisgesteuerter Netzwerktopologien.
Provides mechanisms for modularizing large API definitions through reusable components and references.
Dies ist ein Ruby-HTTP-Client, der für REST-API-Integration, Ressourcenmodellierung und automatisierte Netzwerkkommunikation entwickelt wurde. Er bietet eine Reihe von Tools zur Verwaltung von Headern, Cookies und SSL-Konfigurationen sowie ein dediziertes Command-Line-Interface zur Ausführung von HTTP-Befehlen und zur Verwaltung interaktiver API-Testsitzungen. Das Projekt differenziert sich durch seine Ressourcenmodellierungsfähigkeiten, die die Definition persistenter Basis-URLs und Anmeldeinformationen zum Aufbau verschachtelter Sub-Ressourcen-Endpunkte ermöglichen. Es verfügt zudem über einen Multipart-Request-Handler, der MIME-Typen erkennt, um Dateien hochzuladen und große Payloads zu streamen. Umfassend deckt die Bibliothek Netzwerksicherheit durch SSL- und TLS-Konfiguration, Traffic-Management via Proxy-Routing und Cookie-Jar-Wartung sowie Performance-Optimierungen durch inkrementelles Streaming für Request-Payloads und Response-Bodies ab. Sie enthält zudem Hilfsmittel für das Logging von Netzwerkaktivitäten und die Interzeption von Request-Ausführungen.
Supports hierarchical API paths by chaining resource requests to build complex URLs without manual construction.
moco ist ein Multi-Protokoll-Mock-Server und programmierbarer API-Stub, der zur Simulation von HTTP-, REST-, WebSocket- und Server-Sent-Events-Endpunkten verwendet wird. Er ermöglicht die Erstellung gefälschter Backend-Dienste, um Entwicklung und Integrationstests zu erleichtern, ohne einen Live-Server zu benötigen. Das Projekt zeichnet sich durch seine Fähigkeit aus, als Tool für die Wiedergabe von Netzwerkverkehr zu fungieren, indem es echte Request-Response-Paare über einen Proxy erfasst und lokal wiedergibt. Es unterstützt zudem bidirektionale Kommunikationssimulationen, einschließlich WebSocket-Server-Simulation und SSE-Stream-Simulation mit konfigurierbaren Übermittlungsverzögerungen. Das Tool bietet eine breite Palette an Funktionen für Request-Matching und Response-Management, einschließlich attributbasiertem Filtern, strukturierter Datenvalidierung via JSONPath und XPath sowie hierarchischer Ressourcenmodellierung. Es unterstützt dynamische Inhaltsgenerierung durch Templates und sequentielle Response-Zustandsmaschinen und kann Netzwerkbedingungen mittels künstlicher Latenz simulieren. Der Server kann als eigenständiger Dienst ausgeführt werden und wird primär über strukturierte JSON-Dateien konfiguriert.
Creates sub-resources using nested URI paths to represent complex entity relationships in a mock API.
This project provides a structured specification language for defining RESTful API interfaces, data models, and resource interactions. It serves as a framework for contract-first development, establishing a single source of truth for service communication through declarative, human-readable YAML definitions. By centralizing the design of endpoints, request parameters, and response payloads, it ensures consistent service architecture across the development lifecycle. The framework distinguishes itself through its focus on modularity and metadata-driven automation. It allows developers to organ
Maps API endpoints to hierarchical URL paths to represent data relationships and interaction patterns.
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.