> > Hi Baoyuan, > > Thank you for your response and for the opportunity to further clarify my > interest in APISIX-39. > > After reviewing the current APISIX plugin schemas and the Dashboard’s > plugin configuration workflow, I would like to outline my proposed approach > for implementing JSON Schema - Form UI rendering. > > My initial plan is structured into the following stages: > > 1. Schema Pattern Analysis > > · Analyze real plugin schemas used in APISIX core. > > · Categorize commonly used patterns (basic types, enums, nested > objects, arrays, oneOf, dependencies). > > · Identify a minimum supported subset for Phase 1 implementation. > > 2. Reusable SchemaForm Architecture > > · Design a reusable SchemaForm component responsible for: > > § Parsing JSON Schema definitions > > § Mapping schema types to UI widgets (Input, Select, Switch, Array > fields, etc.) > > § Handling default values and required fields > > § Supporting constraints (min/max, pattern, etc.) > > § Create a configurable schema-to-widget mapping layer for extensibility. > > 3. Complex Schema Support > > · Implement support for: > > 1. oneof (render selector + dynamic sub-schema rendering) > 2. dependencies / conditional fields > > · (Stretch goal) Add support for anyof if needed by target schemas. > > 4. Validation Pipeline > > · Integrate AJV for schema-based validation. > > · Map validation errors consistently to UI feedback. > > · Ensure validation behavior aligns with backend expectations. > > 5. Testing & Documentation > > · Add unit tests for schema parsing and conditional rendering logic. > > · Provide integration tests using real plugin schemas. > > · Write developer documentation explaining: > > 1. How SchemaForm works > > 2. How to extend widget mappings > > 3. How to support additional JSON Schema keywords >
> As an incremental milestone, I plan to refactor 1–2 existing plugin > configuration forms to use the new SchemaForm component to demonstrate > reduced manual UI logic and improved maintainability. > > I would appreciate feedback on: > > - Whether prioritizing oneOf and dependencies early aligns with > project expectations. > - If there are specific plugin schemas that you recommend targeting as > reference implementations. > - Any architectural preferences or constraints within the Dashboard > frontend that I should consider before drafting the detailed design > Proposal. > > > > Looking forward to your guidance. > -- Thanks & Regards *Name:* Ajinkya Jagdish Pathak *Email:* [email protected] *Linkedin:* ajinkya_pathak <https://www.linkedin.com/in/ajinkya-pathak-820675326/>
