[英]Getting error 500 for passing a list of string in post request to jersey app
我開發了帶有grizzly服務器的jersey應用程序,該服務器具有如下所示的其余端點。
@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語句。 它似乎與不涉及List的其他類型的Dto對象一起工作。 請幫我。 提前致謝。
首先,我建議刪除
super()
調用內部構造函數。 Yous對象不會擴展其他對象,因此,它隱式地擴展了Java Object
類。 因此,您正在調用Object
構造函數,該操作已被編譯器執行。
要解決您的問題,請嘗試添加set
並get
您的班級。 groupId
和listOfUserId
是私有的,因此無法從您的班級外部進行設置。
我沒有測試。
請確保在正文中使用郵遞員時選擇原始類型和application / json。 我執行了您的代碼,沒有問題。 可能是您共享正在生成的日志,我可以為您提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.