2017-03-06 144 views
0

我在一个Spring应用程序控制器与此代码:如何在@RestController响应中打印List()?

@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>,也是我的新创建的对象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响应看起来像这样:{"data":[{}],"error":null}

Projects输出为:[Project{id=1, name='Digital project'}]

谁能告诉我,为什么在JSON不包括我的列表?谢谢!

+1

你检查过 - 执行时实际插入了多少个项目:ession.createQuery(“from Project”)。list()? –

+0

Hoi Gerrit ;-) 看看这个:http://softwareengineering.stackexchange.com/questions/337319/object-design-for-rest-result-including-error-handling。前一段时间我问了一个关于ResponseObjects的问题,或许这对你有用 – Jelle

回答

0

protected Object data;

更改为

protected List<Object> data;