我正在使用 GSON 序列化和反序列化 JSON 响应,同时作为有效负载和映射响应提供给数据模型。
现在,这里的 id 是从 DB 自动递增的,因此我们在创建有效负载时不需要传递。
JSON 负载:(updateCustomer) {"first_name":"test", "last_name":"user"}
public class Address {
@SerializedName("id")
private Integer id;
@SerializedName("first_name")
private String firstname;
@SerializedName("last_name")
private String lastname;
....
}
Run Code Online (Sandbox Code Playgroud)
测试:
Response response =
given()
.filter(new RequestLoggingFilter(this.requestCapture))
.filter(new ResponseLoggingFilter(this.responseCapture))
.filter(new ErrorLoggingFilter(this.errorCapture))
.header("Authorization", getSession().getToken())
.body(updateCustomer)
.when()
.put(Resource.UPDATE_CUSTOMER)
.then()
.extract().response();
Run Code Online (Sandbox Code Playgroud)
响应实例中的预期响应 {"id":2234545, "first_name":"test", "last_name":"user"}
Response.toString() 返回 io.restassured.internal.RestAssuredResponseImpl@46320c9a 而不是响应正文字符串。
我试过 response.body().toString(),
@Expose(deserialize = false)
@SerializedName("id")
private Integer id;
Run Code Online (Sandbox Code Playgroud)
但没有运气。
期望响应正文作为字符串,以便我可以使用 GSON 映射到 Java 对象以执行验证但得到 io.restassured.internal.RestAssuredResponseImpl@46320c9a
如果有人可以指导我解决这个问题,我将不胜感激。
非常感谢,