java - @ResponseBody,不尊重对象的构造函数

标签 java json spring rest spring-mvc

我有一个@restController类型 Controller ,当我访问请求的资源时,我得到一个json作为响应,问题是所有属性都出现在我看来,并且它不尊重我生成的构造函数。

但是,该类的所有属性总是出现在我面前:

{
  "code":0,
  "message":"ERROR",
  "details":null
}

我希望答案是这样的:

{
  "code":0,
  "message":"ERROR"
}

感谢您的帮助

@RestController
@RequestMapping("/api")
public class WsController implements WsInterface{

 @Override
 @PostMapping("/add")
    public Response add(@RequestBody Person person) {
        Response r= =null;
        if(person.getName().equals("A")){
          r= new Response(1,"OK","Details of person");
        }else{
          r= new Response (0,"ERROR");
        }
        return r;
    }
}

public class Response{

    private int code;
    private String message;
    private String details;

    public Response() {
    }

    public Response(int code, String message, String details) {
        this.code = code;
        this.message = message;
        this.details = details;
    }

    public Response(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getDetails() {
        return details;
    }

    public void setDetails(String details) {
        this.details = details;
    }

最佳答案

如果您想在具有 null 详细信息和不具有 null 详细信息的两种情况下使用相同的对象。您可以尝试相应配置json序列化。Spring默认使用Jackson,您可以直接配置对象映射器或使用注释@JsonInclude(Include.NOT_NULL)在模型类上仅包含 not null 值。

关于java - @ResponseBody,不尊重对象的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61784784/

相关文章:

ios - 如果 JSON 响应是 "true",不在 TableView 中显示结果

spring - 授权 CORS 失败 (NS_ERROR_DOM_BAD_URI)

java - Android WebView 不加载 URL?

java - XmlPullParserException 不受支持的功能

java - 如何建立知识库?

Android:如何在 JSONStringer 中为 Web 服务请求设置编码?

java - JSP中显示JSON数据时出现异常

Java实体java.sql.SQLException : Field 'id' doesn't have a default value

java - java 对象的通用导出到 Excel

java - ¿创建产品功能?在带有外键的 JPA Hibernate Spring-boot 中