Java 我需要修改代码以接受POST请求中的多个json对象列表。我们如何实现这一点?任何建议都会对我有帮助
我需要在post请求中接受多个JSON对象列表。我的代码在尝试提供多个JSON OBEJCT时抛出错误。需要一些帮助来解决这个问题。这个问题是在使用JavaDropWizard项目时出现的 下面是我的代码的样子 我的资源类::Java 我需要修改代码以接受POST请求中的多个json对象列表。我们如何实现这一点?任何建议都会对我有帮助,java,json,rest,jax-rs,dropwizard,Java,Json,Rest,Jax Rs,Dropwizard,我需要在post请求中接受多个JSON对象列表。我的代码在尝试提供多个JSON OBEJCT时抛出错误。需要一些帮助来解决这个问题。这个问题是在使用JavaDropWizard项目时出现的 下面是我的代码的样子 我的资源类:: @Path("/api") public class TestResource { @POST @Path("/post") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JS
@Path("/api")
public class TestResource {
@POST
@Path("/post")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public TestRes returnData(final TestRes outData) {
return outData;
}
我的getter和setter方法在这里
public class JsonTransformer {
private String Name;
@SerializedName("Entry Date")
private String entryDate;
private String Description;
@JsonProperty("Name")
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
@JsonProperty("Entry Date")
public String getEntryDate() {
return EntryDate;
}
public void setEntryDate(String EntryDate) {
this.EntryDate = EntryDate;
}
@JsonProperty("About")
public String getAbout() {
return About;
}
public void setAbout(String About) {
this.About = About;
}
在POST方法主体中输入JSON对象::
[
{
"Name" : "Test-1",
"Entry Date" : "01-01-1-2020",
"About" : "Tester-1"
},
{
"Name" : "Test-2",
"Entry Date" : "01-01-1-2020",
"About" : "Tester-2"
},
{
"Name" : "Test-2",
"Entry Date" : "01-01-1-2020",
"About" : "Tester-3"
}
]
预期输出::
[
{
"Name" : "Test-1",
"Entry Date" : "01-01-1-2020",
"About" : "Tester-1"
},
{
"Name" : "Test-2",
"Entry Date" : "01-01-1-2020",
"About" : "Tester-2"
},
{
"Name" : "Test-2",
"Entry Date" : "01-01-1-2020",
"About" : "Tester-3"
}
]
您的代码接受一个
TestRes
对象,并尝试向其发送一个数组
将参数更改为
List
,然后输入和代码将匹配。“我的代码抛出错误”-错误是什么?它发生在哪一行?@John只需更改参数类型。Map
可以用于简单对象,如果您不想为其创建正确的DTO(但您应该这样做,这是一个很好的做法)。对于复杂的json结构,您甚至可以接受JsonNode
。但在大多数情况下,这些都会比从一开始就使用正确的DTO类更为繁琐。@John你必须自己做研究。复杂的事情不能用简单的例子来教。