[英]How to print List() in @RestController Response?
我在Spring App中有一個使用以下代碼的控制器:
@RequestMapping("/")
@ResponseBody
public ResponseObject index(){
System.out.println(this.sf);
Session session = sf.openSession();
List<Project> projects = session.createQuery("from Project").list();
session.close();
System.out.println(projects);
return new ResponseObject(projects);
}
我試圖用以下代碼返回List<Project>
以及我新創建的Object ResponseObject
:
public class ResponseObject {
protected Object data;
protected Object error;
public ResponseObject(Object data) {
this.data = data;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Object getError() {
return error;
}
public void setError(Object error) {
this.error = error;
}
}
但是在所有情況下,我的JSON Reponse都看起來像: {"data":[{}],"error":null}
。
Projects
輸出為: [Project{id=1, name='Digital project'}]
誰能告訴我為什么我的列表未包含在JSON中? 謝謝!
protected Object data;
改成
protected List<Object> data;
您需要返回一個ResponseEntity,如:
return new ResponseEntity<List<Project>>(projects, HttpStatus.OK);
如果您在類路徑中有Jackson,那么如果您使用的是Spring boot,則可以正確地反序列化所有操作。 您不需要ResponseObject類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.