[英]How I return HTTP 404 JSON/XML response in JAX-RS (Jersey) on Tomcat?
[英]Jersey HTTP Response return json value
public class Dto {
private boolean flag;
private String code;
private String message;
private Object data;
......
}
這是一種通用的返回格式。
@GET
@Path("/test2")
public Response appLogin2() {
Dto dto = new Dto();
Device device = new Device();
device.setAreaName("NewYork");
dto.setData(device);
dto.setFlag(true);
Response res = Response.status(Status.OK).entity(dto).build();
return res;
}
但是現在它的返回值是
{
"data": "com.gmi.its.itsmain.model.Device@7067fd1f",
"flag": true
}
我如何獲得該返回值
{
"data": {
"areaName": "NewYork"
},
"flag": true
}
我的用戶springboot可以獲取該返回值。
您應該為該data
屬性指定一個類。 當前,它被作為對象讀取,這意味着串行器不知道對此會有什么期望。 序列化程序唯一可以做的就是調用對象的toString()方法,該方法輸出className@hashCode
。
嘗試這樣的事情:
public class Dto {
private boolean flag;
private String code;
private String message;
private Device data;
......
}
如果不確定要用於data
字段的類,則應創建一個接口,所有這些可能的類都將從該接口擴展。
字符串jsonString = JSON.toJSONString(dto); 返回Response.status(Status.OK).entity(jsonString).build();
我現在是這樣做的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.