我开发了一款带有灰色服务器的球衣应用程序,它的休息端点如下所示。
@Path("/testPost")
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response testPost(UserGroupDto ugdto)
{
System.out.println("inside testpost");
return Response.accepted(ugdto).build();
}
我的UserGroupdto如下所示
public class UserGroupDto {
private String groupId;
private List<String> listOfUserId;
public UserGroupDto() {
super();
}
public UserGroupDto(String groupId, List<String> listOfUserId) {
super();
this.groupId = groupId;
this.listOfUserId = listOfUserId;
}
}
我使用POSTMAN作为客户端并在json请求下发送
{
"groupId": "G004",
"listOfUserId" :[
"f3457g",
"5f3rdt",
"U105"
]
}
我在我的pom.xml中使用json的以下依赖项
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.6</version>
</dependency>
我收到内部服务器错误500.控制台上没有错误,也没有打印sysout语句。它似乎与其他类型的Dto对象一起工作,其中不涉及List。请帮我。提前致谢。
答案 0 :(得分:0)
首先,我建议删除
super()
调用内部构造函数。 Yous对象不会扩展其他对象,因此,它隐式地扩展了Java Object
类。因此,您正在调用Object
构造函数,这是一个已由编译器执行的操作。
要解决您的问题,请尝试将set
和get
添加到您的班级。 groupId
和listOfUserId
是私密的,因此无法在课堂外设置。
我没有测试过。
答案 1 :(得分:0)
请确保在身体中使用邮递员时选择原始类型和应用程序/ json。我执行了你的代码,我没有遇到任何问题。如果您共享生成的日志,我可以帮助您。