无法识别的字段:jerseyClient dropwizard yml?

时间:2019-02-26 11:26:16

标签: java yaml dropwizard

我的dropwizard服务器需要调用外部REST资源,为此,我计划使用Jersey客户端,为此,我在pom.xml中添加了以下依赖项:

<dependency>
            <groupId>io.dropwizard</groupId>
            <artifactId>dropwizard-client</artifactId>
            <version>1.4.0-SNAPSHOT</version>
        </dependency>

然后我添加了yml配置,如下所示:

jerseyClient:
  minThreads: 1
  maxThreads: 128
  workQueueSize: 8
  gzipEnabled: true
  gzipEnabledForRequests: true
  chunkedEncodingEnabled: true

在我的WebConfiguration类中,添加了以下代码:

@Valid
    @NotNull
    private JerseyClientConfiguration jerseyClient = new JerseyClientConfiguration();

    @JsonProperty("jerseyClient")
    public JerseyClientConfiguration getJerseyClientConfiguration() {
        return this.jerseyClient;
    }

当我尝试运行WebApplication时,出现以下错误:

api.yml has an error:
  * Unrecognized field at: jerseyClient
    Did you mean?:
      - server
      - assets
      - logging
      - metrics
      - database
        [1 more]


Process finished with exit code 1

这是怎么了?是否在dropwizard服务器上不允许dropwizard客户端?还是仅仅是缩进问题?

更新:

无法添加jerseyClient配置后,我尝试添加HttpClient对我有用。

1 个答案:

答案 0 :(得分:0)

尝试在 http://localhost:3000/ingredients 扩展文件中使用 @JsonProperty 添加 setter。

这对我有用。

Configuration 文件中

Configration

@Valid @NotNull private JerseyClientConfiguration jerseyClient = new JerseyClientConfiguration(); @JsonProperty("jerseyClient") public JerseyClientConfiguration getJerseyClientConfiguration() { return jerseyClient; } @JsonProperty("jerseyClient") public void setJerseyClientConfiguration(JerseyClientConfiguration jerseyClient) { this.jerseyClient = jerseyClient; } 文件中。

config.yml