8 dépôts
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 est un framework d'administration Go et une boîte à outils backend utilisée pour construire des interfaces administratives, des systèmes de gestion de contenu (CMS) headless et des générateurs d'API REST. Il fournit un environnement structuré pour implémenter des backends d'applications métier, se spécialisant dans la gestion de contenu structuré et d'assets multimédias. Le projet se distingue par une gestion de contenu multi-langue complète, incluant le versionnage de données basé sur la locale et un système dédié pour l'internationalisation et l'administration de la traduction. Il différencie davantage son offre avec une implémentation de machine à états intégrée pour l'automatisation des processus métier et un workflow de staging de contenu pour réviser les changements avant publication. Le framework couvre un large éventail de capacités, incluant le contrôle d'accès basé sur les rôles, la gestion de session et la planification de tâches en arrière-plan. Sa surface de gestion de données inclut des overrides de gestionnaires CRUD, la gestion des relations et une UI pilotée par métadonnées qui génère des tableaux de bord et des entrées de formulaire basées sur les définitions de ressources backend. De plus, il fournit des outils pour la génération d'API RESTful avec support de la négociation de contenu et des endpoints imbriqués. Le système permet l'optimisation du déploiement en compilant les templates HTML directement dans le binaire de l'application Go pour supprimer les dépendances au système de fichiers.
Implements hierarchical routes based on data relationships to manage child resources tied to parent records.
AsyncAPI est un standard de spécification lisible par machine pour définir et documenter des interfaces pilotées par les événements et des architectures asynchrones basées sur les messages. Il fournit un framework unifié pour modéliser la structure des systèmes distribués, incluant la définition des serveurs, des canaux, des messages et des opérations. La spécification se distingue par une couche de conception agnostique au protocole, séparant les définitions d'interface de base des configurations spécifiques au transport. Cela permet aux développeurs de maintenir une source de vérité unique tout en s'adaptant aux exigences uniques de diverses technologies de messagerie comme Kafka, MQTT ou WebSockets. Il prend également en charge les environnements distribués complexes en permettant la corrélation des messages au moment de la conception et le suivi des expressions à l'exécution pour une meilleure observabilité. Le projet couvre une large surface de capacités, notamment des schémas de sécurité déclaratifs pour l'authentification et l'autorisation, ainsi qu'une modélisation de données standardisée utilisant des formats comme JSON Schema ou Avro. Il fournit également des mécanismes pour modulariser les grandes définitions d'API via des composants réutilisables et des registres, ce qui facilite la gouvernance et la cohérence organisationnelles. La spécification est maintenue sous forme d'un ensemble de fichiers de documentation standardisés, fournissant une base pour le provisionnement automatisé de l'infrastructure et la gestion des topologies réseau pilotées par les événements.
Provides mechanisms for modularizing large API definitions through reusable components and references.
Il s'agit d'un client HTTP Ruby conçu pour l'intégration d'API REST, la modélisation de ressources et la communication réseau automatisée. Il fournit un ensemble d'outils pour gérer les en-têtes, les cookies et les configurations SSL, ainsi qu'une interface de ligne de commande dédiée pour exécuter des commandes HTTP ponctuelles et gérer des sessions de test d'API interactives. Le projet se différencie par ses capacités de modélisation de ressources, qui permettent la définition d'URLs de base persistantes et d'identifiants pour construire des points de terminaison de sous-ressources imbriqués. Il dispose également d'un gestionnaire de requêtes multipart qui détecte les types MIME pour télécharger des fichiers et diffuser des charges utiles volumineuses. Globalement, la bibliothèque couvre la sécurité réseau via la configuration SSL et TLS, la gestion du trafic via le routage par proxy et la maintenance du pot à cookies, et les optimisations de performance utilisant la diffusion incrémentale pour les charges utiles de requête et les corps de réponse. Elle inclut également des utilitaires pour la journalisation de l'activité réseau et l'interception de l'exécution des requêtes.
Supports hierarchical API paths by chaining resource requests to build complex URLs without manual construction.
moco est un serveur de mock multi-protocole et un stub d'API programmable utilisé pour simuler des endpoints HTTP, REST, WebSocket et Server-Sent Events. Il permet la création de services backend factices pour faciliter le développement et les tests d'intégration sans nécessiter de serveur en direct. Le projet se distingue par sa capacité à agir comme un outil de rejeu de trafic réseau, capturant des paires requête-réponse réelles via un proxy et les rejouant localement. Il prend également en charge les simulations de communication bidirectionnelle, y compris la simulation de serveur WebSocket et la simulation de flux SSE avec des délais de livraison configurables. L'outil fournit un large ensemble de capacités pour la correspondance de requêtes et la gestion des réponses, y compris le filtrage basé sur les attributs, la validation de données structurées via JSONPath et XPath, et la modélisation hiérarchique des ressources. Il prend en charge la génération de contenu dynamique via des modèles et des machines à états de réponse séquentielles, et peut simuler des conditions réseau avec une latence artificielle. Le serveur peut être exécuté en tant que service autonome et est principalement configuré à l'aide de fichiers JSON structurés.
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.