我的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对我有用。
答案 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