SpringBootRESTAPI与postgresql-显示json数据,jdbctemplate

xurqigkl  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(300)

我用postgresql作为数据库设计了restfulapi。最初,我在数据库中只有一个名为place的表,在api中只有一个模型,如下所示:

public Place(@JsonProperty("id") UUID id, @JsonProperty("title") String title,
             @JsonProperty("description") String description, @JsonProperty("latitude") String latitude,
             @JsonProperty("longitude") String longitude, @JsonProperty("photo") String photo) {
    this.id = (id==null) ? UUID.randomUUID() : id;
    this.title = title;
    this.description = description;
    this.latitude = latitude;
    this.longitude = longitude;
    this.photo = photo;
}

我得到的json输出如下:

[
    {
        "id": "dc507b33-ec47-4174-ad4b-111f7a5364b7",
        "title": "Place title",
        "description": "Some description",
        "latitude": "latitude",
        "longitude": "longitude",
        "photo": "photoname",

    },

但我刚刚在应用程序中添加了一些功能,我想从另外两个表中显示关于这个地方的信息。我想实现的json输出如下:

[
        {
            "id": "dc507b33-ec47-4174-ad4b-111f7a5364b7",
            "title": "Place title",
            "description": "Some description",
            "latitude": "latitude",
            "longitude": "longitude",
            "photo": "photoname",
            "facts": [
            {"1" : "fact describtion},
            ...                      
            ]
        },

显示所有数据字段的方法如下所示:

@Override
public List<Place> selectAllPlaces() {
    final String sql = "SELECT * FROM place";

    return jdbcTemplate.query(sql, (resultSet, i) -> {
        return new Place(
                UUID.fromString(resultSet.getString("id")),
                resultSet.getString("title"),
                resultSet.getString("description"),
                resultSet.getString("latitude"),
                resultSet.getString("longitude"),
                resultSet.getString("photo")
        );
    });
}

有人能帮我吗?如何在json输出中为一个位置嵌套多个事实?我可以提供更多的代码,如果需要
谢谢:)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题