Java 设置弹簧靴的最佳方法+;与Facebook营销API进行沟通

Java 设置弹簧靴的最佳方法+;与Facebook营销API进行沟通,java,typescript,facebook-marketing-api,Java,Typescript,Facebook Marketing Api,我正在开发一个Spring Boot后端,并使用Facebook营销SDK。在前端,我有10个角。如果我创建了一个页面或一个活动,我想将对象返回到我的前端应用程序,在那里我需要使用带有活动所有属性的Regure-by-typescript类 我尝试了Habarta的typescript生成器,但是Facebook java类很复杂,在生成过程中我得到了相互矛盾的结果。 例如: Parsing 'com.facebook.ads.sdk.ProductFeedRuleSuggestion' use

我正在开发一个Spring Boot后端,并使用Facebook营销SDK。在前端,我有10个角。如果我创建了一个页面或一个活动,我想将对象返回到我的前端应用程序,在那里我需要使用带有活动所有属性的Regure-by-typescript类

我尝试了Habarta的typescript生成器,但是Facebook java类很复杂,在生成过程中我得到了相互矛盾的结果。 例如:

Parsing 'com.facebook.ads.sdk.ProductFeedRuleSuggestion' used in 'APIRequestGetSuggestedRules.lastResponse'
Warning: Multiple classes are mapped to 'APIRequestGetActivities' name. Conflicting classes: [class com.facebook.ads.sdk.AdAccount$APIRequestGetActivities, class com.facebook.ads.sdk.AdSet$APIRequestGetActivities]
...
[ERROR] Failed to execute goal cz.habarta.typescript-generator:typescript-generator-maven-plugin:2.25.695:generate (default-cli) on project simplephy: Execution default-cli of goal cz.habarta.typescript-generator:typescript-generator-maven-plugin:2.25.695:generate failed: Multiple classes are mapped to the same name. You can use 'customTypeNaming' or 'customTypeNamingFunction' settings to resolve conflicts or exclude conflicting class if it was added accidentally.
我的插件设置:

<plugin>
    <groupId>cz.habarta.typescript-generator</groupId>
    <artifactId>typescript-generator-maven-plugin</artifactId>
    <version>2.25.695</version>
    <executions>
        <execution>
            <id>generate</id>
            <goals>
                <goal>generate</goal>
            </goals>
            <phase>process-classes</phase>
        </execution>
    </executions>
    <configuration>
        <jsonLibrary>jackson2</jsonLibrary>
        <mapClasses>asClasses</mapClasses>
        <classes>
            <class>com.facebook.ads.sdk.Campaign</class>
        </classes>
        <excludeClasses>
            <excludeClass>com.facebook.ads.sdk.APINode</excludeClass>
        </excludeClasses>
        <outputKind>module</outputKind>
        <outputFileType>implementationFile</outputFileType>
    </configuration>
</plugin>

cz.habarta.typescript-generator
类型脚本生成器maven插件
2.25.695
生成
生成
进程类
杰克森2
阶级
com.facebook.ads.sdk.Campaign
com.facebook.ads.sdk.APINode
模块
实现文件

从Facebook java对象生成所有必要的typescript类的合适方式是什么?或者有没有更好的方法在后端和前端之间发送这些fb对象?

例如,您需要编写customTypeNamingFunction

<customTypeNamingFunction>
    function(name, simpleName) {
        <!-- DUPLICATES THAT HAVE TO BE RENAMED -->
        var duplicates = ['class', 'names', 'duplicated'];

        if (name.indexOf('$') !== -1) {
            var parent = name.split('$')[0];
            var parentParts = parent.split('.');
            return parentParts[parentParts.length-1]+simpleName;
        } 
        if (duplicates.indexOf(simpleName) !== -1) {
            var parts = name.split('.');
            var caps = parts[parts.length-2][0].toUpperCase() + parts[parts.length-2].slice(1);
            return caps+parts[parts.length-1];
        } 
    }
</customTypeNamingFunction>

函数(名称,simpleName){
var duplicates=['class','name','duplicated'];
if(name.indexOf(“$”)!=-1){
var parent=name.split(“$”)[0];
var parentParts=parent.split('.');
返回parentParts[parentParts.length-1]+simpleName;
} 
if(重复.indexOf(simpleName)!=-1){
var parts=name.split('.');
var caps=parts[parts.length-2][0]。toUpperCase()+parts[parts.length-2]。切片(1);
返回盖+零件[零件长度-1];
} 
}