【问题标题】:how to return an unlimit fields in a response for a restfull web service如何在响应中返回无限字段以响应宁静的 Web 服务
【发布时间】:2021-05-24 06:45:06
【问题描述】:

任何帮助或提示将不胜感激!! 我目前正在使用 Java 8。 我有一个将 sql 语句作为参数的 Web 服务。 该 sql 可以在 select 语句中包含许多字段或 where 子句的参数。

在我的基于 sql 查询的 java return 语句中,return 语句中可以有很多字段。 如何根据查询 select 语句中的字段数创建一个可以具有不同字段数的 Java 对象?

【问题讨论】:

  • 也许通过使用可变参数?
  • 定义一个对象包含所有字段,返回客户端时不序列化空字段

标签: java spring spring-boot rest


【解决方案1】:

如果允许,您可以使用 HashMap 来存储查询结果
通过这种方式,您可以获得总字段的长度或进行map提供的其他操作。
下面是示例代码

public ResponseEntity<?> postData(some request) {

    Map<String, Object> data = someRepository.getDataByID(someId); 
    // data that you  get from sql query, note that you have to map it though 
    // in response type of sql query of whatever java tool you are using for getting the sql data
    System.out.println("The fields are: " + data.keySet()); 
    for(String fieldKey: data) {
         System.out.println("key is " + key);
         System.out.println("value is " + data.get(key));
    }
    ... your logic
    return new ResponseEntity(data, HttpStatus.OK);
}

【讨论】:

    猜你喜欢
    • 2016-12-17
    • 2019-04-15
    • 2020-09-12
    • 2017-03-05
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多