fastjson 请问支持过滤返回的 JSON 吗?

cetgtptt  于 2021-11-27  发布在  Java
关注(0)|答案(3)|浏览(324)

举个栗子,有一个类 Account

@Data
@Entity
public class Account {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String column1;

    private String column2;

    private String column3;
    // ... get and set

我想在不同的接口中返回不同的字段,如:

@RestController
@RequestMapping("/accounts")
public class AccountController {

    @GetMapping(value = {"", "/"})
    public List<Account> index() {
        // ... 期望返回全部字段
        // [
        //     {id: 1, column1: "xxx", column2: "xxx", column3: "xxx"},
        //     {id: 1, column1: "xxx", column2: "xxx", column3: "xxx"}
        // ]
    }

    @GetMapping(value = "/{id}")
    public Account index(@PathVariable Long id) {
        // ... 期望返回部分字段
        // {column1: "xxxx"}
    }
}

有没有哪个注解,可以在 controller 的方法上使用,可以限定这个接口返回的 json 字段?

lyr7nygr

lyr7nygr1#

@FastJsonView(
include = {@FastJsonFilter(clazz = Company.class,props ={"id","name"})})

wpx232ag

wpx232ag3#

@kimmking 对于内嵌的, 比如一个vo里面有List ,用这个方法一样有效么?

相关问题