V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ccppgo
V2EX  ›  Java

Java 新手求助, Spring 是如何将 GET 请求的参数注入进类方法参数的对象属性里的

  •  
  •   ccppgo · 2021-07-09 16:54:00 +08:00 · 1757 次点击
    这是一个创建于 993 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大神请看图

    图 1 图 2 图 3

    这是我写的一个分页查询接口, 在 Controller 层我使用 Page 类和 Channel 实体接收了 3 个参数, 我想新写一个类包装 Page 类和使用泛型接收表实体类, 然后再写一些通用的属性例如:

    public class ParamRequest<T> {
    
        private Page<T> page;
    
        private T entity;
    
        // 一些通用的参数
        private int orderBy;
        private int a;
        private int b;
    
    }
    
    

    最后在图一,图二的方法里形参是(ParamRequest<Channel> request) 图二中间就是 wrapper.setEntity(request.getEntity)

    请各位大佬给我指点一些方案我去学习一下

    3 条回复    2021-07-09 19:00:40 +08:00
    ccppgo
        1
    ccppgo  
    OP
       2021-07-09 16:56:36 +08:00
    这样做的一个需求就是可以想使用 Vo 代替实体, 当连表查询的时候更方便一点
    MoHen9
        2
    MoHen9  
       2021-07-09 17:44:44 +08:00   ❤️ 1
    可以用 HandlerMethodArgumentResolver 实现自定义的请求接口解析,(附:取到请求参数后可以用 JSON 库转换)
    sheepzh
        3
    sheepzh  
       2021-07-09 19:00:40 +08:00   ❤️ 1
    Spring MVC 提供了类似 hooker 接口,一般会在里面将请求的固定参数(租户 ID,用户 ID,权限 ID )放进自定义的请求线程上下文 (用 ThreadLocal 保存),然后 repository 层套个 AOP 就可以做数据隔离了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3710 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 05:04 · PVG 13:04 · LAX 22:04 · JFK 01:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.