Betfair 的 Java 流媒体入门 API

Getting Started with Betfair's Java Streaming API

我正在尝试开始使用 Betfair 的流媒体 API Java,但在他们的示例应用程序 building/running 上遇到了问题。以下是我到目前为止采取的步骤...

克隆项目:

git clone https://github.com/betfair/stream-api-sample-code.git

在 Eclipse 中,"Import Projects from File System or Archive",然后打开 stream-api-sample-code/java 文件夹

我现在可以在我的包资源管理器中看到客户端、控制台和 swagger 项目。

在 Eclipse 的底部 window,我看到 2 个错误:

The project cannot be built until its prerequisite client is built. Cleaning and building all projects is recommended
The project cannot be built until its prerequisite swagger is built. Cleaning and building all projects is recommended

我认为这是因为我需要按照此处所述创建 swagger 文件:

https://docs.developer.betfair.com/display/1smk3cen4v3lu3yomq5qye0ni/Exchange+Stream+API#ExchangeStreamAPI-SwaggerDefinition

所以我 运行 /stream-api-sample-code 文件夹中的这个命令:

java -jar swagger-codegen-cli-2.2.1.jar generate -i ESASwaggerSchema.json -l java -o java/swagger

我现在里面有很多文件 /stream-api-sample-code/java/swagger。在 运行 执行命令之前,我只有一个 pom.xml 文件。

我不确定下一步该做什么,但在 eclipse 中我右键单击了 swagger 项目,并选择了 "Update Project"。我现在在 eclipse 中看到了所有新文件。

但我现在收到 888 错误,例如 "AuthenticationMessage cannot be resolved to a type"。

接下来我应该尝试什么?

首先,添加:

   <dependencies>
    ...
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.3.2</version>
    </dependency>
   ...
   </dependencies>

..到 swagger/pom.xml.

这使得项目可以构建。 (应该报告并轻松修复。)

------------------------------------------------------------------------
Reactor Summary:

esa-java-client .................................... SUCCESS [  0.625 s]
swagger ............................................ SUCCESS [ 13.746 s]
client ............................................. SUCCESS [  9.434 s]
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 24.259 s
Finished at: 2019-01-23T22:48:56+01:00
Final Memory: 26M/90M
------------------------------------------------------------------------

第二: java -jar swagger-codegen-cli-2.2.1.jar generate -i ESASwaggerSchema.json -l java ..生成一个(完整的 new/different)maven 项目,所以请不要:

-o java/swagger

但是:

-o java/someothernewfolder

...您也可以将此生成的项目导入到 eclipse 中...并且它具有相同的 "bug"(请参阅第一个))。所以也请添加 javax.annotation 依赖和构建 (someothernewfolder).