设置Spring Boot + Angular与Facebook Marketing API通信的最佳方法

问题描述

我正在开发Spring Boot后端,并使用Facebook Marketing SDK。在前端,我有Angular10。如果我创建例如页面或广告系列,我想将对象返回到前端应用程序,在那里我需要具有根据typescript的类以及广告系列的所有属性。

我尝试了Habarta的typescript-generator,但是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>

从Facebook Java对象生成所有必需的打字稿类的合适方法是什么?还是有更好的方法在后端和前端之间发送这些fb对象?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)