对于 API 测试,我必须使用 io.micronaut.http.client.HttpClient 解析请求的响应
我更喜欢使用下面给出的格式。
Response<User> response =
client.toBlocking().retrieve(HttpRequest.POST("/", user), Response.class);
但它不起作用。尝试从响应中获取用户时出现类型转换错误
User user = response.getUser();
目前我正在使用ObjectMapper (Jackson),如下所示,
String response = client.toBlocking().retrieve(HttpRequest.POST("/", user), String.class);
ObjectMapper objectMapper = new ObjectMapper();
Response<User> response = objectMapper.readValue(response, new TypeReference<Response<User>>() {});
有没有办法直接使用TypeReference和HttpClient检索方法?或以任何其他方式将泛型类类型与HttpClient一起使用。
其他有用信息
// Response generic class
class Response<T> {
T data;
....
}
示例响应
{
"data": {
"name":"sample"
},
"message": "Success"
}