9 repositorios
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 es un framework de administración en Go y toolkit de backend utilizado para construir interfaces administrativas, sistemas de gestión de contenido headless y generadores de API REST. Proporciona un entorno estructurado para implementar backends de aplicaciones de negocio, especializándose en la gestión de contenido estructurado y activos multimedia. El proyecto se distingue por una gestión de contenido multilingüe integral, con versionado de datos basado en locale y un sistema dedicado para la internacionalización y administración de traducciones. Diferencia aún más su oferta con una implementación de máquina de estados integrada para la automatización de procesos de negocio y un flujo de trabajo de staging de contenido para revisar cambios antes de la publicación. El framework cubre una amplia gama de capacidades, incluyendo control de acceso basado en roles, gestión de sesiones y programación de trabajos en segundo plano. Su superficie de gestión de datos incluye anulaciones de manejadores CRUD, gestión de relaciones y una UI basada en metadatos que genera dashboards y entradas de formulario basadas en definiciones de recursos de backend. Además, proporciona herramientas para la generación de API RESTful con soporte para negociación de contenido y endpoints anidados. El sistema permite la optimización del despliegue compilando plantillas HTML directamente en el binario de la aplicación Go para eliminar dependencias del sistema de archivos.
Implements hierarchical routes based on data relationships to manage child resources tied to parent records.
AsyncAPI es un estándar de especificación legible por máquina para definir y documentar interfaces orientadas a eventos y arquitecturas basadas en mensajes asíncronos. Proporciona un framework unificado para modelar la estructura de sistemas distribuidos, incluyendo la definición de servidores, canales, mensajes y operaciones. La especificación se distingue por utilizar una capa de diseño agnóstica al protocolo, que separa las definiciones de interfaz principales de las configuraciones específicas de transporte. Esto permite a los desarrolladores mantener una única fuente de verdad mientras se adaptan a los requisitos únicos de diversas tecnologías de mensajería como Kafka, MQTT o WebSockets. Además, soporta entornos distribuidos complejos al permitir la correlación de mensajes en tiempo de diseño y el seguimiento de expresiones en tiempo de ejecución para mejorar la observabilidad. El proyecto cubre una amplia superficie de capacidades, incluyendo esquemas de seguridad declarativos para autenticación y autorización, y modelado de datos estandarizado mediante formatos como JSON Schema o Avro. También proporciona mecanismos para modularizar definiciones de API grandes a través de componentes reutilizables y registros, lo que facilita la gobernanza y la consistencia organizacional. La especificación se mantiene como un conjunto de archivos de documentación estandarizados, proporcionando una base para el aprovisionamiento automatizado de infraestructura y la gestión de topologías de red orientadas a eventos.
Provides mechanisms for modularizing large API definitions through reusable components and references.
Este es un cliente HTTP de Ruby diseñado para la integración de API REST, modelado de recursos y comunicación de red automatizada. Proporciona un conjunto de herramientas para gestionar encabezados, cookies y configuraciones SSL, junto con una interfaz de línea de comandos dedicada para ejecutar comandos HTTP únicos y gestionar sesiones de prueba de API interactivas. El proyecto se diferencia por sus capacidades de modelado de recursos, que permiten la definición de URLs base persistentes y credenciales para construir endpoints de subrecursos anidados. También cuenta con un manejador de solicitudes multipart que detecta tipos MIME para cargar archivos y transmitir grandes cargas útiles. En términos generales, la librería cubre la seguridad de red a través de la configuración SSL y TLS, la gestión de tráfico mediante enrutamiento de proxy y mantenimiento de cookies, y optimizaciones de rendimiento utilizando streaming incremental tanto para cargas útiles de solicitud como para cuerpos de respuesta. También incluye utilidades para el registro de actividad de red y la interceptación de ejecución de solicitudes.
Supports hierarchical API paths by chaining resource requests to build complex URLs without manual construction.
moco es un servidor mock multiprotocolo y stub de API programable utilizado para simular endpoints HTTP, REST, WebSocket y Server-Sent Events. Permite la creación de servicios backend falsos para facilitar el desarrollo y las pruebas de integración sin necesidad de un servidor en vivo. El proyecto se distingue por su capacidad para actuar como una herramienta de reproducción de tráfico de red, capturando pares reales de petición-respuesta mediante un proxy y reproduciéndolos localmente. También admite simulaciones de comunicación bidireccional, incluyendo simulación de servidor WebSocket y simulación de flujo SSE con retrasos de entrega configurables. La herramienta proporciona un amplio conjunto de capacidades para la coincidencia de peticiones y la gestión de respuestas, incluyendo filtrado basado en atributos, validación de datos estructurados mediante JSONPath y XPath, y modelado jerárquico de recursos. Admite la generación dinámica de contenido mediante plantillas y máquinas de estado de respuesta secuencial, y puede simular condiciones de red utilizando latencia artificial. El servidor puede ejecutarse como un servicio independiente y se configura principalmente mediante archivos JSON estructurados.
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.