当我尝试将响应正文反序列化为POJO时,会设置空值,并且在未使用JsonIgnoreProperties(ignoreUnknown=true)时会遇到以下错误:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“City”(类TestNGMaven.restAssuredProject.WeatherInfo),未标记为可忽略(6个已知属性:“湿度”、“温度”、“天气描述”、“城市”、“风速”、“风向度”])
以下是我正在使用的代码:
public class WeatherInfo
{
private String city;
private String temperature;
private String humidity;
private String weatherDescription;
private String windSpeed;
private String windDirectionDegree;
// getters and setters
}
使用的方法:
public void getWeatherDetailsForCity(String city) {
RestAssured.baseURI="http://restapi.demoqa.com/utilities/weather/city";
Response response= given().
when().
get("/"+city)
.then()
.extract()
.response();
ResponseBody responseBody=response.body();
//No issues in below code
System.out.println(responseBody.asString());
//Exception for the below lines
WeatherInfo weatherInfo =responseBody.as(WeatherInfo.class);
System.out.println(weatherInfo.getCity());
错误:com.fasterxml.jackson.databind.exc.无法识别的属性异常:无法识别的字段“城市”(类TestNGMaven.restAssuredProject. WeatherInfo),未标记为不可忽略(6个已知属性:“湿度”、“温度”、“天气描述”、“城市”、“风速”、“风向度”)在[来源:(字符串)“{”城市“:”海德拉巴“,“温度”:“28.5摄氏度”,“湿度”:“62%”,“天气描述”:“雾霾”,“风速”:“每小时1.5公里”,“风向度”:“度”}"
将城市更改为城市也不能解决错误。
通过在我使用 GSON 注释样式的 POJO 类中添加以下内容来解决此问题
@SerializedName("City")
@Expose
private String city;
并使用以下格式反序列化
WeatherInfo weatherInfo =responseBody.as(WeatherInfo.class,ObjectMapperType.GSON);
我的输出是吐司: 事实上,我不想吐司错误味精像这样…我想简单的信息像“电子邮件或密码是错误的。再试一次” 帮帮我谢谢
我使用的是改装版2.0.0-beta1。 在测试中,我有一个替代方案,预计会出现错误HTTP 400 我想改装一下。回答 MyError没有反序列化-我只在这里看到它 但它没有给我MyError作为对象
获取外部API如下图-[1]:https://i.stack.imgur.com/a28Y1.png 用作数据数组对象。 另一个物体在下面 已使用/getForObject/exchange/getForEntity,但未得到任何响应。请在底部检查我使用的方法。 现在用作数据对象的列表也没有得到任何响应- 下面是resttemplate如何调用这些- 响应obj=restTemplate。getF
我们正在尝试使用具有net core后端的流,但出现反序列化错误 协议是版本3.14.0 grpc-web-gen是1.2.1 生成客户端的命令是:协议-我=。/原型。/原型/*. proto-js_out=import_style=通用js,二进制:。/dist--grpc-web_out=import_style=通用js dts,模式=grpcwebtext:。/dist 我们成功连接到en
从我的Java后端,我正在使用另一个我不管理的后端,它的API定义不可用。我正在创建它的服务的OpenAPI定义,并使用Swagger Codigen来生成客户端。 有一个endpoint返回一个复杂对象: 在该对象中,和始终存在,但在同一级别上有数百个动态项。在上面的示例中,关键点是可以预测的,但实际上是字母和数字的序列,类似于“245df921”。动态项始终是具有相同项数和相同预期位置的数组。