首页 > 解决方案 > @JsonIgnoreProperties 不适用于招摇的一代

问题描述

我试图隐藏特定 API 端点的对象的几个字段。

前任:

"student": {
    "name": "value1",
    "age": "value2",
    "dob": "value3",
    "value": "value4"
  }

我需要为某些 API 端点显示和隐藏这些值。

API 1:获取:/学校/学生/个人

"student": {
    "name": "value1",
    "age": "value2"
  }

API 2:获取:/学校/学生/全部

"student": {
    "name": "value1",
    "age": "value2",
    "fatherName": "value3",
    "motherName": "value4",
  }

标签: javaswaggerrestspringfox

解决方案


对我来说,您使用的是不同的对象,您可以创建 DTO(数据传输对象)并使您的 API 返回 DTO。

您需要适配器将您的 domine 对象(ex.Student)转换为 DTO 对象(StudentDTO 或 TinyStudentDTO)

前任。

API 1: GET : /school/student/personal 应该返回 TinyStudentDTO

TinyStudentDTO
-name
-age

API 2: GET : /school/student/all 应该返回 StudentDTO

您的 StudentDTO 将与 TinyStudent 一起扩展

StudentDTO 
-fatherName
-motherName

推荐阅读