我正在尝试自动化我的REST服务的PUT请求,我对JAva来说是全新的。在这里,我传递一个PUT主体(JSON格式)以及其他标头。 我为PUT创建了一个Java类,其中我有getter和setter,我使用setter分配值并创建我的PUT主体并在我的PUT请求中发送此PUT主体。 我的PUT身体是这样的。我能够更新" id"和"名称"并创建我的身体对象,但我不知道如何更新" versionname"和"数"在"版本"路径?
{
"versions": [
{
"versionname": "Test",
"number": 1
}
],
"id": 89960004,
"name": "TEST CES LIST4",
}
PUT主体的课程如下:
public class putBody {
public String id;
public String name;
public String versionName;
public String number;
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public String getversionName() {
return versionName;
}
public void setversionName(String versionName) {
this.versionName = versionName;
}
我的问题是如何更新"版本名称"和"数字"并创建我的putBody对象。任何帮助非常感谢。
答案 0 :(得分:0)
首先,根据您提供的JSON输出,您的PutBody类必须有一个集合来保存您的版本数据。
为此,只需创建一个将用于每个版本信息的Version类:
public class Version {
public String versionName;
public String number;
public String getVersionName() {
return versionName;
}
public void setVersionName(String versionName) {
this.versionName = versionName;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
然后,这是你的PutBody类应该看起来像
public class PutBody {
public String id;
public String name;
public List<Version> versions;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Version> getVersions() {
return versions;
}
public void setVersions(List<Version> versions) {
this.versions = versions;
}
}
以下是根据您的示例值填充数据的方法:
List<Version> versions = new ArrayList<Version>();
Version version = new Version();
version.setVersionName("Test");
version.setNumber("1");
versions.add(version);
PutBody putBody = new PutBody();
putBody.setName("TEST CES LIST4");
putBody.setId("89960004");
putBody.setVersions(versions);
JSON输出:
{
"id": "89960004",
"name": "TEST CES LIST4",
"versions": [
{
"versionName": "Test",
"number": "1"
}
]
}
<强>更新强>
Google的Gson为此目的提供了很多功能。您可以轻松地将Java实例转换为JSON并将JSON字符串转换回Java实例。
请检查that