问题描述
我正在为调用某些本地服务(在端口 8888 中)的 Java 组件编写集成测试。我可以通过将端口作为参数传递给 MockWebServer 来拦截调用,如下所示:
MockWebServer server= new MockWebServer();
server.start(8888);
server.enqueue(new MockResponse().setBody("{ \"score\": \"1.0\",\"match\": true,\"id\":\"faq.faq8\"}")
.addHeader("Content-Type","application/json"));
现在实际的调用是这样的:
ResponseEntity<Response> responseEntity = restTemplate.exchange(url.toUriString(),HttpMethod.POST,requestEntity,Response.class);
响应类如下所示:
public static class Response implements Serializable {
/* Serial UUID. */
private static final long serialVersionUID = -7548720302478842018L;
private boolean match;
private float score;
private String id;
public boolean ismatch() {
return match;
}
public float getscore() {
return score;
}
public String getId() {
return id;
}
}
我可以使响应分数和匹配字段成为我想要的任何内容,但 id 字段始终为空。老实说,我不知道为什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)