Java 返回页<;E>;Spring中的数据JPA为空
如果我想返回如下页面类型:Java 返回页<;E>;Spring中的数据JPA为空,java,spring,spring-data-jpa,spring-data-rest,Java,Spring,Spring Data Jpa,Spring Data Rest,如果我想返回如下页面类型: [{"cid": 1, "cname": "Tien Hiep", "cmetaTitle": "tien-hiep", "createDate": "May 6, 2018 1:04:58 PM "," createBy ":" Admin "," modifiedDate ":" May 28, 2018 11:09:57 AM "," modifiedBy ":" Admin "," cstatus " ..] 有人能帮我解决这个问题吗?这是因为
[{"cid": 1, "cname": "Tien Hiep", "cmetaTitle": "tien-hiep",
"createDate": "May 6, 2018 1:04:58 PM "," createBy ":" Admin ","
modifiedDate ":" May 28, 2018 11:09:57 AM "," modifiedBy ":" Admin
"," cstatus " ..]
有人能帮我解决这个问题吗?这是因为您正在返回这里的列表,如果您希望响应的格式应该是您正在寻找的格式,那么您应该在类中包含DTO或绑定该响应并返回该类 下面我给出一个小代码片段:
Class FoDto{
列出内容;
//Getter和Setter方法
}
在服务层,您可以准备响应。如果您使用的是maven 1.添加以下jersey依赖项以将java对象列表转换为json
{
"content":[
{"cid": 1, "cname": "Tien Hiep", "cmetaTitle": "tien-hiep", "createDate": "May 6, 018 1:04:58 PM "," createBy ":" Admin "," modifiedDate ":" May 28, 2018 11:09:57 AM "," modifiedBy ":" Admin "," cstatus "},
...
],
"last":false,
"totalElements":10,
"totalPages":4,
"size":10,
"number":0,
"sort":null,
"first":true,
}
如果您有任何问题或疑问,请告诉我。假设您的Dao类似于下面的代码:
@RequestMapping(value="/api/category/page", method=RequestMethod.GET)
@Produces("application/json")
public List<Category> getCategoryList() {
Page<Category> pageCategory = categoryService.findAll(new PageRequest(0, 10));
List<Category> catgoryList = pageCategory.getContent(); /*missed this conversion in my original post */
return catgoryList;
}
现在,您可以通过以下方式分页获取数据:
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
public class PaginationUtil {
public static PageRequest makePageRequest(int pageId, int pageSize, Sort.Direction direction, String... properties){
return pageSize> 0?new PageRequest(pageId, pageSize, direction, properties):null;
}
}
import org.springframework.data.domain.PageRequest;
导入org.springframework.data.domain.Sort;
@自动连线
私类道道道;
PageRequest PageRequest=PaginationUtil.makePageRequest(0,10,Sort.Direction.DESC,“id”);
列表类别=dao
.findAll(页面请求);
现在类别列表中有了您的所有数据
您的端点代码如下所示:
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.CrudRepository;
public interface CategoryDao extends CrudRepository<Category,Integer>{
List<Category> findAll(Pageable pageable);
}
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
@Autowired
private CategoryDao dao;
PageRequest pageRequest = PaginationUtil.makePageRequest(0, 10, Sort.Direction.DESC, "id");
List<Category> categories = dao
.findAll(pageRequest);
@RequestMapping(value=“/api/category/page”,method=RequestMethod.GET)
@生成(“应用程序/json”)
公共列表getCategoryList(){
PageRequest PageRequest=PaginationUtil.makePageRequest(0,10,Sort.Direction.DESC,“id”);
列表类别=dao
.findAll(页面请求);
退货类别;
}
更多信息请访问
谢谢:)页面可以为空吗?i、 e.
pageCategory
是否为空?
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.CrudRepository;
public interface CategoryDao extends CrudRepository<Category,Integer>{
List<Category> findAll(Pageable pageable);
}
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
public class PaginationUtil {
public static PageRequest makePageRequest(int pageId, int pageSize, Sort.Direction direction, String... properties){
return pageSize> 0?new PageRequest(pageId, pageSize, direction, properties):null;
}
}
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
@Autowired
private CategoryDao dao;
PageRequest pageRequest = PaginationUtil.makePageRequest(0, 10, Sort.Direction.DESC, "id");
List<Category> categories = dao
.findAll(pageRequest);
@RequestMapping(value="/api/category/page", method=RequestMethod.GET)
@Produces("application/json")
public List<Category> getCategoryList() {
PageRequest pageRequest = PaginationUtil.makePageRequest(0, 10, Sort.Direction.DESC, "id");
List<Category> categories = dao
.findAll(pageRequest);
return categories;
}