Java 将post请求中的字符串列表传递给jersey应用程序时出现错误500
我用grizzly服务器开发了一个jersey应用程序,它有一个rest端点,如下所示Java 将post请求中的字符串列表传递给jersey应用程序时出现错误500,java,json,rest,jersey,Java,Json,Rest,Jersey,我用grizzly服务器开发了一个jersey应用程序,它有一个rest端点,如下所示 @Path("/testPost") @POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public Response testPost(UserGroupDto ugdto) { System.out.println("inside testpost"); return Res
@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;
}
}
我在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>
org.glassfish.jersey.media
泽西媒体公司
2.25.1
com.fasterxml.jackson.core
杰克逊核心
2.8.6
我收到一个内部服务器错误500。控制台上没有出现错误,也没有打印sysout语句。它似乎与其他类型的Dto对象一起工作,其中不涉及列表。请帮帮我。提前谢谢 首先,我建议删除该选项
super()
调用内部构造函数。您的对象不扩展其他对象,因此隐式地扩展了Javaobject
类。因此,您正在调用对象
构造函数,这是一个已经由编译器执行的操作
要解决您的问题,请尝试向类中添加set
和get
groupId
和listOfUserId
是私有的,因此不能从类外设置它们
我没有测试它。请确保在正文中使用postman时,您选择的是原始类型和应用程序/json。我执行了你的代码,没有问题。如果您共享正在生成的日志,我可以帮助您。当我在本地环境中测试您的服务和请求时,它工作得非常好,因为它没有为我生成500个异常。您还应该在此处发布您的异常stacktrace。同样作为回应,它给了我一个空白对象,因为你的模型类中没有setter和getter。谢谢大家的回复。我班上有能手和二传手。我只是把它们贴在这里,因为在pojo课上有它们是很正常的。我将从默认构造函数中删除super(),同时还将查看postman主体类型。如果您认为问题可能是由于其他原因造成的,请告诉我。谢谢
super()