代码之家  ›  专栏  ›  技术社区  ›  Mr.DevEng

从spring引导控制器返回非JSON数据(对象列表)

  •  0
  • Mr.DevEng  · 技术社区  · 8 年前

    我在这里添加存储库方法,

    @Query("SELECT ur.userId , r.role FROM Roles r JOIN r.roleJoin ur")
    List<Roles> findByRole();
    

    我的控制器有如下代码,

    @GetMapping("/check")
    public List<Roles> check() {
        return repoObj.findByRole();
    }
    

    [[2,"A"],[649,"B"],[651,"C"],[653,"A"],[658,"A"],[3,"A"],[1,"B"],[670,"B"]]
    

    seemd是一个对象列表,但默认情况下spring boot controller将以JSON格式返回数据。但我只喜欢下面这些。因为我需要从我的前端角度应用程序访问JSON。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Simon Martinelli    8 年前

    假设您获得了Roles类型的对象,但是在查询中您只选择努塞里德和r.srole_desc

    将查询更改为:

    @Query("SELECT r FROM Roles r JOIN r.roleUserMappingJoin ur")
    

    但这和findAll()一样

    或者创建包含要返回的数据的DTO。

    https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections