随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。

JavaBean:

使用@JsonIgnore 使json解析器忽略该属性的转换

package cn.cdulm.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;

import java.util.Date;
import java.util.Objects;

public class User {
    private Integer id;
    private String name;
    @JsonIgnore // 转换为JSON时忽略
    private String password;
    private Date birthday;

    public User() {
    }

    public User(Integer id, String name, String password, Date birthday) {
        this.id = id;
        this.name = name;
        this.password = password;
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", birthday=" + birthday +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return Objects.equals(id, user.id) && Objects.equals(name, user.name) && Objects.equals(password, user.password) && Objects.equals(birthday, user.birthday);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, name, password, birthday);
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

请求处理类:

package cn.cdulm.controller;

import cn.cdulm.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

//@Controller
@RestController // 类中所有的方法都会以json数据返回
@RequestMapping("/json")
public class JsonController {

    @RequestMapping("/js1")
//    @ResponseBody   // 响应json:将return的值作为文本响应给客户端,而不是转发到对应页面
    public User js1(){
        User user1 = new User(1, "张三","123456",new Date());
        System.out.println("json");
        return user1;
    }
}

访问结果:

发现并没有对password进行转换。

 

将属性格式化为JSON数据:

 

将日期格式化,访问结果:

成功格式化为对应格式。

 

posted on 2022-06-29 15:30  时间完全不够用啊  阅读(543)  评论(0编辑  收藏  举报