簡體   English   中英

將 Java 數據 Class 轉換為前端的字段數組/元數據(類似於 Swagger 數據模型/模式)?

[英]Convert Java Data Class to Array of Fields/Metadata for frontend (Similar to Swagger Data Model/Schema)?

我目前有一堆 Java 數據定義,我必須將定義復制為 JSON 數組以用於前端表格顯示。

是否有一種標准方法可以在構建期間(或根據要求動態生成)從 Java Class 生成字段、clazz 和元數據定義? 理想情況下可以選擇通過注釋定義一些其他元數據嗎?

我認為這可以通過 getFields 和注釋來完成,但我希望有一些可用的資源可以幫助我了解做這樣的事情的常用方法是什么(或者是否應該這樣做)?

例如)(以示例所需的注釋)

@GenerateClassMeta
class MyObject {
    @Title("Id")
    int id;
    
    @Title("My String")
    String myStr;
   
    @Title("My List")
    List<String> list;
     
    @EmbeddedMeta(title="My Child",field="child")
    Child child;
   
}
class Child{
    @Title("Enabled")
    boolean enabled;
    
    @IgnoreMeta
    String myOtherString;        
}

生成的 JSON 數組類似於

   [
       {
           "title":"Id",
           "field":"id",
           "clazz":"java.lang.Integer",
           "searchPath":"id"
       },
       {
           "title":"My String",
           "field":"myString",
           "clazz":"java.lang.String",
           "searchPath":"myStr"
       },
       {
           "title":"My List",
           "field":"list",
           "clazz":"java.util.list",
           "searchPath":"list"
        },
        {
           "title":"My Child: Enabled",
           "field":"enabled",
           "clazz":"java.lang.Boolean",
           "searchPath":"child.enabled"
        }
   ]

目前我必須手動編寫 JSON 定義以在前端顯示,但希望對其進行更改,以便前端可以獲取生成的元數據並根據各種顯示的需要對其進行格式化。

如果它有所作為,它是針對 Spring-Boot 服務器/React 前端的。 元數據用於定義(除其他事項外)數據表的列和實體搜索路徑。

任何幫助,將不勝感激。

看看 JSON 架構。 有許多將代碼轉換為 JSON Schema 的實現: https://json-schema.org/implementations.html

當然 JSON 結構與您的示例不同,但 JSON Schema 被廣泛使用(例如在 OpenAPI 中)。

旁注:不確定您的前端打算如何處理數據,但如果您計划使用此數據顯示動態表單,也有許多實現可以做到這一點: https://json-schema .org/implementations.html#web-ui-generation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM