@JsonView的使用

简介: @JsonView的使用

@JsonView的使用


前言

版本说明

platform-bom=Cairo-SR7


相关链接:



实战演练

@JsonView 使用步骤


  1. 使用接口来声明多个视图
  2. 在值对象的get方法山指定视图
  3. 在 Controller 方法上指定视图

User 类

package top.simba1949.common;
import com.fasterxml.jackson.annotation.JsonView;
import lombok.Setter;
import lombok.ToString;
/**
 * @Author Theodore
 * @Date 2019/12/2 15:32
 */
@Setter
@ToString
public class User {
    /**
     * 1. 使用接口来声明多个视图
     */
    public interface UserSimpleView{}
    public interface UserDetailView extends UserSimpleView{}
    private String username;
    private String password;
    /**
     * 2. 在值对象的get方法山指定视图
     */
    @JsonView(UserSimpleView.class)
    public String getUsername() {
        return username;
    }
    @JsonView(UserDetailView.class)
    public String getPassword() {
        return password;
    }
}


Controller

package top.simba1949.controller;
import com.fasterxml.jackson.annotation.JsonView;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import top.simba1949.common.User;
import java.util.ArrayList;
import java.util.List;
/**
 * @Author Theodore
 * @Date 2019/12/2 15:29
 */
@RestController
@RequestMapping("user")
public class UserController {
    /**
     *
     * @param username
     * @param pageable org.springframework.data.domain.Pageable 分页对象
     * @return
     * 返回结果如下 [{"username":null},{"username":null},{"username":null}]
     */
    @GetMapping("list1")
    @JsonView(User.UserSimpleView.class)
    public List<User> query(String username, Pageable pageable){
        List<User> users = new ArrayList<>();
        users.add(new User());
        users.add(new User());
        users.add(new User());
        return users;
    }
    /**
     *
     * @param username
     * @return
     *  返回结果如下 [{"username":null,"password":null},{"username":null,"password":null},{"username":null,"password":null}]
     */
    @GetMapping("list2")
    @JsonView(User.UserDetailView.class)
    public List<User> query(String username){
        List<User> users = new ArrayList<>();
        users.add(new User());
        users.add(new User());
        users.add(new User());
        return users;
    }
}



目录
相关文章
@JsonView的使用,entity中指定向前台返回哪些字段
使用步骤: 1.使用接口来声明多个视图      2.在值对象的get方法上指定视图   3.在Controller方法上指定视图
1090 0
|
JSON 安全 Java
SpringBoot 整合 Security(一)实现用户认证并判断返回json还是view
看这篇文章的我默认都认为是有security基本基础的,因为封装的缘故,没有基础的话很容易被绕晕。但是只要认真看,我相信没什么大问题,如果仅仅是会用,该教程让你更熟悉底层实现,更优雅的写代码。
1300 0
|
1月前
|
JSON API 数据格式
淘宝拍立淘按图搜索API系列,json数据返回
淘宝拍立淘按图搜索API系列通过图像识别技术实现商品搜索功能,调用后返回的JSON数据包含商品标题、图片链接、价格、销量、相似度评分等核心字段,支持分页和详细商品信息展示。以下是该API接口返回的JSON数据示例及详细解析:
|
1月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
2月前
|
机器学习/深度学习 JSON 监控
淘宝拍立淘按图搜索与商品详情API的JSON数据返回详解
通过调用taobao.item.get接口,获取商品标题、价格、销量、SKU、图片、属性、促销信息等全量数据。
|
1月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
2月前
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
2月前
|
JSON API 数据格式
干货满满!淘宝商品详情数据,淘宝API(json数据返回)
淘宝商品详情 API 接口(如 taobao.item.get)的 JSON 数据返回示例如下
|
1月前
|
JSON 中间件 Java
【GoGin】(3)Gin的数据渲染和中间件的使用:数据渲染、返回JSON、浅.JSON()源码、中间件、Next()方法
我们在正常注册中间件时,会打断原有的运行流程,但是你可以在中间件函数内部添加Next()方法,这样可以让原有的运行流程继续执行,当原有的运行流程结束后再回来执行中间件内部的内容。​ c.Writer.WriteHeaderNow()还会写入文本流中。可以看到使用next后,正常执行流程中并没有获得到中间件设置的值。接口还提供了一个可以修改ContentType的方法。判断了传入的状态码是否符合正确的状态码,并返回。在内部封装时,只是标注了不同的render类型。再看一下其他返回的类型;
157 3