zoukankan      html  css  js  c++  java
  • 3-7 公共请求对象封装及优雅验证数据实现

    这是提前准备好的接口文档


    新建UserController



    接收的参数用对象的形式

    controller下新建vo的包,然后新建登陆接口需要的对象类LoginReqVO






    下面这个时候就要写数据的验证了,一般都要几十行的验证代码。

    提供另外一种方法,在util模块下新建BaseRequestVO,教程中这里单词拼错了。Base后面多了一个字母“r”。这里我们自己按照的去写就可以了。

    这个方法只能做一些基础的验证。因为没有办法注入逻辑层啊数据层啊这些。所以只能做一些公共的基础验证。

    这样我们的loginVO继承BaserRequestVO然后去实现这个方法


    这样你的controller里面这一行代码就去验证数据源的合法性

    自定义exception

    在utils模块下创建exception


    创建类CommonServiceException


    两个属性一个全参的构造方法
     
    如果出错了就抛出异常

    这样我们的loginVO也需要抛出这个异常

    controller内的方法也直接抛出去

    新建基础工具类

    复制公共资料里面给的ToolUtils到util包下


    下面是代码的一些片段,例如判断字符串是不是null啊


    string类型不为null的判断方法

    用上我们刚才加进来的工具类,
    404就是未找到资源,username和password有一个为空就抛出异常。

    改成中文

    异常一直往上抛出,最后抛到UserController



    结束

  • 相关阅读:
    php7.1安装
    nginx 的限制连接模块limit_zone与limit_req_zone
    selinux导致docker启动失败
    docker学习笔记
    kvm虚拟机
    ZooKeeper在线迁移
    启动EMQ(emqtt)时报错找不到libsctp.so.1
    Linux Samba服务主配文件smb.conf中文详解
    python-day7-字符串类型的内置方法
    python-day7-数字类型的内置方法
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/12687872.html
Copyright © 2011-2022 走看看