【问题标题】:ArrayObject in API Response along with status and messageAPI 响应中的 ArrayObject 以及状态和消息
【发布时间】:2020-12-08 14:22:08
【问题描述】:

我希望 API 响应如下:

{"success":"false/true","msg":"some message","data":{}}

如果有数据,响应数据应该打印在"data":{}

ApiResponse Class

public ApiResponse(Boolean success, String message,JSONObject data) {
       this.success = success;
       this.message = message;
       this.setData(data);
   }

Controller中的数据返回

JSONObject dataObject = new JSONObject(user);
return new ResponseEntity(new ApiResponse(false, "User is Disabled",dataObject , HttpStatus.UNAUTHORIZED);

【问题讨论】:

  • 如果您可以指定更多详细信息,例如您期望的输出和实际得到的输出,将会很有帮助。
  • 我收到了{"success":"true","msg":"User Created"},但我想在响应中获取创建的用户对象,例如{"success":"true","msg":"User Created","data":{/user object/}}
  • 如果我在ApiResponse 类中添加User,它将得到我需要的东西,但它会特定于那个特定的User,但我想设置每个响应对象 在data:{}

标签: java json spring-boot


【解决方案1】:

Spring boot 会在内部使用 jackson objectmapper 来序列化对象。

您可以在创建 objectMapper bean 时使用此属性指定包含字段,即使它们为空

    @Bean
    ObjectMapper objectMapper() {
        return Jackson2ObjectMapperBuilder.json()
            .serializationInclusion(JsonInclude.Include.ALWAYS) // Include even empty values in the json
            .build();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2020-01-17
    • 2015-04-20
    • 1970-01-01
    相关资源
    最近更新 更多