gpt4 book ai didi

java - 在放心的请求正文中将对象序列化为 json

转载 作者:行者123 更新时间:2023-12-01 08:35:52 25 4
gpt4 key购买 nike

我正在使用 resteasy 制作一个 rest api ,并使用 rest-assured 对其进行测试.

假设我有一个类 message,它有一个属性 text

@XmlRootElement
public class message {
@XmlElement
public String text;
}

以下测试将尝试将此对象发布到给定的 url:

message msg = new message();
msg.text = "some message";

expect()
.statusCode(200)
.given()
.contentType("application/json")
.body(msg)
.when()
.post("/message");

msg 对象被序列化为 json 并发布,但不是以我想要的方式 - 也就是说,不是以 resteasy 需要的方式。

发布的内容:

{ "text": "some message" }

什么工作:

{ "message": { "text": "some message" } }

有没有人知道如何让这项工作按预期进行?

最佳答案

我知道这已经有了答案,但我想分享我能够发送 json 对象的方式。有人可能会觉得它有帮助

// import org.json.simple.JSONObject;
JSONObject person = new JSONObject();
person.put("firstname", "Jonathan");
person.put("lastname", "Morales");

JSONObject address = new JSONObject();
address.put("City", "Bogotá");
address.put("Street", "Some street");
person.put("address", address);

String jsonString = person.toJSONString();
// {"address":{"Street":"Some street","City":"Bogotá"},"lastname":"Morales","firstname":"Jonathan"}

// import static com.jayway.restassured.RestAssured.*;
given().contentType("application/json")
.body(jsonString)
.expect().statusCode(200)
.when().post("http://your-rest-service/");

关于java - 在放心的请求正文中将对象序列化为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10709409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com