伙伴匹配(后端)-- 查询,删除用户,用户注销接口开发

这篇具有很好参考价值的文章主要介绍了伙伴匹配(后端)-- 查询,删除用户,用户注销接口开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


写接口的流程
先做设计 代码实现 持续优化(复用代码,提取公共逻辑,/常量)

代码设计

伙伴匹配(后端)-- 查询,删除用户,用户注销接口开发,校园伙伴匹配系统,java,spring boot,maven,mybatis,数据库

查询用户

需要注意的地方

1.请求:查询用户用get请求(无请求体)
2.必须要鉴权:只有管理员可以查询和删除,更新用户
3.为啥是否是管理员要设置一个常量呢?1(ADMIN_ROLE) 0 (DEFAULT_ROLE),增强可读性(个人理解),不然写user.getRole() == 1 可读性不高
4.session失效时间配置(默认30分钟)
通俗点说就是设置一个过期登录时间

# 设置session登录态超时时间为24小时
session:
  timeout: 86400

为什么要设置session失效

  • 用户量很大之后,Session对象相应的也要创建很多。如果一味创建不释放,那么服务器端的内存迟早要被耗尽。
  • 客户端关闭行为无法被服务端直接侦测,或者客户端较长时间不操作也经常出现,类似这些的情况,就需要对session的时限进行设置了

5.过滤掉返回给前端的信息:密码等加密信息(利用java8的map函数式编程可以丝滑过滤)
6.业务逻辑过于简单时,可以直接在controller层写业务,看人下菜嘛

接口代码实现

    @GetMapping("/search")
    public List<User> searchUser(String username,HttpServletRequest request){
        if(!isAdmin(request)){
            return new ArrayList<>();
        }
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        if(StringUtils.isNotBlank(username)){
            queryWrapper.like("username",username);
        }
        return userService.list(queryWrapper);
    }

删除用户

接口代码实现

    /**
     * 删除用户
     */
    @PostMapping("/delete")
    public boolean deleteUser(@RequestBody Long id,HttpServletRequest request){
           if(id < 0 || !isAdmin(request)){
               return false;
           }
           return userService.removeById(id);
    }

    /**
     * 是否是管理员
     */
    public boolean isAdmin(HttpServletRequest request){
        Object userobj = request.getSession().getAttribute(UserConstant.USER_LOGIN_STATE);
        User user = (User) userobj;
        if(user == null || user.getUserRole() != UserConstant.ADMIN_ROLE){
            return false;
        }
        return true;
    }

用户注销

即退出登录功能,与删除用户区分开,删除用户是将用户在数据库中逻辑删除,注销用户是移除用户登录态文章来源地址https://www.toymoban.com/news/detail-861153.html

request.getSession().removeAttribute(USER_LOGIN_STATE);

到了这里,关于伙伴匹配(后端)-- 查询,删除用户,用户注销接口开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Security-用户注销及记住我

    在配置类增加退出映射地址 完整代码: 在static下 增加 success.html 修改配置类,登录成功后 跳转到 成功页面success.html 在成功页面添加 超链接, 写设置退出路径  登录成功后,在成功页面点击退出 , 再去访问其他contoller不能进行访问 启动测试: 在地址栏输入 http://localhost:8080/login

    2024年01月17日
    浏览(37)
  • iPhone苹果手机Apple id帐号如何永久性注销删除数据?

    原文来源:https://www.caochai.com/article-4120.html 注本方法:将会将您的iPhone苹果手机Apple id帐号从所有 Apple App、服务和 iCloud(由云上贵州运营) 中永久删除你的帐户和相关联的数据。 iPhone苹果手机Apple id帐号如何永久性注销删除数据? 1、打开iPhone苹果手机Apple id帐号永久性注销

    2024年02月09日
    浏览(40)
  • es通过rest接口_search、_delete_by_query查询与删除数据

    1、rest接口查询数据 rest查询: http://localhost:9200/index_name/_search 查询表达式: postman请求截图: 2、使用Rest接口删除数据 rest删除数据: http://localhost:9200/index_name/_delete_by_query 查询表达式: postman请求截图:

    2024年02月16日
    浏览(45)
  • 后端Springboot框架搭建APi接口开发(第一章)

    本文章以IDEA为开发工具,使用SSM框架进行项目编写 我们用一个简单的用户表进行操作演示 首先创建 Data 数据库 创建 User 数据表,表中包含 用户邮箱 , 用户姓名 , 用户密码 放点数据进去 打开IDEA,在右上角点击NewProject。创建新的项目 选择Spring Initializr框架,依次输入项目

    2023年04月08日
    浏览(42)
  • 1ll大学学生信息管理系统系统_学院管理_查询新增或修改删除标准接口_

    目录 修订版本 1. 目的 2. 阅读人员 3. 参考文档 ll大学学生信息管理系统系统_学院管理_查询新增或修改删除标准接口 4.1 接口概述 4.2 接口名称 4.3查询学院信息接口标准 4.4新增学院信息接口标准 4.5修改学院信息接口标准 学生信息管理系统系统_学院管理_查询新增或修改删

    2024年02月17日
    浏览(51)
  • 如何用chatGPT快速开发java后端功能接口

      需求如图 常规无非是建表接口测试类,最后造数据进行自测。突发奇想,要不用GPT试一下快速写业务代码? 第一步:建表,直接复制excel中内容到GPT中  第二步:要求转为下划线:    第三步:给出条件和想要的结果(下面第一幅图是自己写的,其它代码图都是GPT生成的)

    2024年02月06日
    浏览(37)
  • react后端开发:如何根据特定ID创建新的用户信息?

    以音乐app开发为例,我们想要在想要创建新的唱片库,就需要使用Post连接服务器端新建唱片ID,并在该ID处插入唱片信息。怎么做呢? 使用create同时创建id和唱片信息 不过在这之前,我们一般先需要进行判断,新写入的唱片是否存在,比如某用户已经上传了周杰伦的青花瓷,

    2024年01月23日
    浏览(53)
  • 后端项目开发:集成接口文档(swagger-ui)

    swagger集成文档具有功能丰富、及时更新、整合简单,内嵌于应用的特点。 由于后台管理和前台接口均需要接口文档,所以在工具包构建BaseSwaggerConfig基类。 1.引入依赖 2.需要添加Swagger配置类。 将需要配置的字段提取出来,单独作为一类 前台接口和后台管理的包的配置,只需

    2024年02月11日
    浏览(37)
  • JavaWeb前端/后端开发规范——接口文档概述及YApi平台的使用

    整理下笔记,打好基础,daydayup!!! 什么是接口文档? 目前主流的开发模式为前后端分离式开发,为了方便前后端的对接,就需要使用接口文件进行统一规范。 接口文档记载什么信息? 1,基本信息:请求路径,请求方式,接口描述 2,参数信息:参数名,参数类型,参数样例

    2024年04月17日
    浏览(57)
  • 基于Javaweb实现ATM机系统开发实战(四)用户修改删除功能实现

    我们点一下修改,发现页面进行了跳转,跳转到了/toUpdate,并传递了用户的卡号。  我们可以先查看一下用户列表展示界面的前端代码:userlist.jsp,可以看到前端代码中做了跳转的动作,我们需要在后端中完成相应的servlet完成这个动作。  首先,创建UserToUpdateServlet,对用户

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包