前后端分离------后端创建笔记(02)

这篇具有很好参考价值的文章主要介绍了前后端分离------后端创建笔记(02)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 本文章转载于【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客

仅用于学习和讨论,如有侵权请联系

源码:https://gitee.com/green_vegetables/x-admin-project.git
素材:https://pan.baidu.com/s/1ZZ8c-kRPUxY6FWzsoOOjtA 提取码:up4c
项目概述笔记:https://blog.csdn.net/m0_37613503/article/details/128961102
数据库笔记:https://blog.csdn.net/m0_37613503/article/details/128961401
前端笔记:https://blog.csdn.net/m0_37613503/article/details/128961447
后端笔记:https://blog.csdn.net/m0_37613503/article/details/128961569

1、response是发给后端之后返回的结果,我们要根据这些东西实现后端登录接口

前后端分离------后端创建笔记(02),javaweb,笔记

1.1

2 接口数据笔记都有

前后端分离------后端创建笔记(02),javaweb,笔记

2.1

3 首先实现我们的登录接口,因为登录跟用户相关,你可以用控制器,也可以重新写一个控制器

前后端分离------后端创建笔记(02),javaweb,笔记

3.1 现在写登录请求的控制器

前后端分离------后端创建笔记(02),javaweb,笔记

3.2 登录请求是/user拼上/login

前后端分离------后端创建笔记(02),javaweb,笔记

4 返回数据是result,你想要返回什么数据是什么类型的

前后端分离------后端创建笔记(02),javaweb,笔记

4.1 里面是个对象,但是我们可以放N个参数

前后端分离------后端创建笔记(02),javaweb,笔记

4.2 可以返回Map,里面是Mapping方法

前后端分离------后端创建笔记(02),javaweb,笔记

 4.3 然后我们再return一下,这样就不会报错了

前后端分离------后端创建笔记(02),javaweb,笔记

4.4 我们需要用户名和密码,这里需要参数过来,这里需要用户名和密码

前后端分离------后端创建笔记(02),javaweb,笔记

 4.5 用户名和密码刚好我们类中有这个参数

前后端分离------后端创建笔记(02),javaweb,笔记

 4.6 用他来进行接受,但是你接受不到,因为他过来是json字符串的形式过来的

前后端分离------后端创建笔记(02),javaweb,笔记

 4.7 用requestBody,来进行转换

前后端分离------后端创建笔记(02),javaweb,笔记

5 有了用户名之后我们要怎么做,可以用来检验用户登录操作,登录操作怎么做,根据用户名到数据库里查一下,查到这个用户,就表示你的登录信息是正确的

前后端分离------后端创建笔记(02),javaweb,笔记

5.1 我把user传给他,之后给我返回一个Mapper,不过这个login方法我没写

前后端分离------后端创建笔记(02),javaweb,笔记

5.2 按住Alt + enter可以快速生成代码,接口也生成了,这样操作代码非常快

前后端分离------后端创建笔记(02),javaweb,笔记

 前后端分离------后端创建笔记(02),javaweb,笔记

6 这里接口写好了,但是实现类没有,这里有未实现的方法,给他补一下

前后端分离------后端创建笔记(02),javaweb,笔记

6.1 这里写一下登录逻辑

前后端分离------后端创建笔记(02),javaweb,笔记

6.2 token登录凭证,单体架构是sesson

 6.3

前后端分离------后端创建笔记(02),javaweb,笔记

6.4 查一条数据

前后端分离------后端创建笔记(02),javaweb,笔记

 6.5 用它 L..

前后端分离------后端创建笔记(02),javaweb,笔记

6.6 我们设置一下条件

6.7 这里我们需要传入字段名,如果你不用Lambda去写,是无法识别你是正确的还是错误的,用的时候就知道更灵活,在用的时候就知道你写没写对

前后端分离------后端创建笔记(02),javaweb,笔记

 6.8 双冒号后写,传入的参数 User:: (好像是为了避免写字符串)

6.9如果没有查用户名,会成为not,暂时查不到

6.10 搞一下密码

6.11 条件准备ok

前后端分离------后端创建笔记(02),javaweb,笔记

7、把login 传入里面可以得到用户

前后端分离------后端创建笔记(02),javaweb,笔记

7.1 判断值不等于null 

前后端分离------后端创建笔记(02),javaweb,笔记

8 用key值,什么uuid

前后端分离------后端创建笔记(02),javaweb,笔记

8.1 返回数据我给他一个token ,返回一个key

前后端分离------后端创建笔记(02),javaweb,笔记

9 这个写完之后返回控制器里面

前后端分离------后端创建笔记(02),javaweb,笔记

9.1

10 我在浏览器中发送的任何请求,都是get 请求,现在可以用测试工具postman

前后端分离------后端创建笔记(02),javaweb,笔记

10.1 浏览器发送的请求是post,其他的是get 

前后端分离------后端创建笔记(02),javaweb,笔记

11、使用postman发一个post 请求,先写一个地址

 11.1再写一个json数据

前后端分离------后端创建笔记(02),javaweb,笔记

12、现在已经测试成功了,返回的数据是code20000

前后端分离------后端创建笔记(02),javaweb,笔记

12.1

13 登录接口实现了1半,但还差存入这个操作redis

前后端分离------后端创建笔记(02),javaweb,笔记

13.1 存入redis你得保证redis是启动的

前后端分离------后端创建笔记(02),javaweb,笔记

前后端分离------后端创建笔记(02),javaweb,笔记

14、存入redis怎么存那,首先你得整个到我们的项目里

前后端分离------后端创建笔记(02),javaweb,笔记

14.1 首先你得添加redis的依赖

前后端分离------后端创建笔记(02),javaweb,笔记

15 设置redis 的服务地址和端口

 15.1如果不redis的配置,等一下会产生问题

16 在com.lantu下新建一个类

前后端分离------后端创建笔记(02),javaweb,笔记

 16.1 写真么一个类

前后端分离------后端创建笔记(02),javaweb,笔记

17 首先加一个configuration注解

前后端分离------后端创建笔记(02),javaweb,笔记

17.1 这里我们就是来配置一个bean,返回名和返回类型就是他

前后端分离------后端创建笔记(02),javaweb,笔记

 17.2 创建一个redisTemplate对象

前后端分离------后端创建笔记(02),javaweb,笔记

 17.3 这里的键盘文件是第一个,写string

前后端分离------后端创建笔记(02),javaweb,笔记

18、现在真么写是没有关系的,因为配置文件不全

前后端分离------后端创建笔记(02),javaweb,笔记

18.1 set connection意味着连接上redis 

前后端分离------后端创建笔记(02),javaweb,笔记

19 保持redis里面键值化的问题

前后端分离------后端创建笔记(02),javaweb,笔记

19.1 如果你不做序列化,你到redis里面去查的话,你可能看不懂,甚至你看到的是乱码,

前后端分离------后端创建笔记(02),javaweb,笔记

20 我们设计一下redis 

前后端分离------后端创建笔记(02),javaweb,笔记

20.1 这个是针对string数据类型的方法

前后端分离------后端创建笔记(02),javaweb,笔记

 20.2 把对象传入到string类型的参数,你需要转化为一个json,如果你不转化为Json,你在数据库里,看不懂这个数据库

前后端分离------后端创建笔记(02),javaweb,笔记

 20.3 这样写完针对键,针对值都做了序列化处理了

前后端分离------后端创建笔记(02),javaweb,笔记

##

21、什么叫简单数据,里面存入的用户名,姓名,电话等,这种数据都是简单的字符串,但是我往里面存入的内容包括子对象,日期,包含集合,他的序列化,这时候数据非常复杂,我得对他进行处理

前后端分离------后端创建笔记(02),javaweb,笔记

21.1 

 22复制这一小串代码

前后端分离------后端创建笔记(02),javaweb,笔记

22.1 放到我们的项目当中

前后端分离------后端创建笔记(02),javaweb,笔记

23 通过这个对象进行处理,

前后端分离------后端创建笔记(02),javaweb,笔记

23.1

24 现在我想注入redis,加入注解@Autowired,在公司还会针对redis进行封装工具类-----P17

24.1

前后端分离------后端创建笔记(02),javaweb,笔记

25 我们需要new一个真么样的东西

前后端分离------后端创建笔记(02),javaweb,笔记

 25.1

26 里面写object

前后端分离------后端创建笔记(02),javaweb,笔记

26.1

27 这句话的意思是我们对键和值都做了序列化处理

前后端分离------后端创建笔记(02),javaweb,笔记

27.1

28 登录是有时效的

前后端分离------后端创建笔记(02),javaweb,笔记

28.1

29 这句话表示30分钟

前后端分离------后端创建笔记(02),javaweb,笔记

 前后端分离------后端创建笔记(02),javaweb,笔记

29.1

30 重启一下按右上方的重启键,我们再重新测试一下

前后端分离------后端创建笔记(02),javaweb,笔记

30.1 

31、再打开redis....

前后端分离------后端创建笔记(02),javaweb,笔记

 31.1

32 打开dbo

前后端分离------后端创建笔记(02),javaweb,笔记

32.1

33 缓存到redis里的数据

前后端分离------后端创建笔记(02),javaweb,笔记

33.1

34 实现登录功能还要两个接口

前后端分离------后端创建笔记(02),javaweb,笔记

34.1

35 要准备一个获取用户信息的接口

前后端分离------后端创建笔记(02),javaweb,笔记

35.1

36 摁F12,点一下登录,看login 

前后端分离------后端创建笔记(02),javaweb,笔记

36.1

37 除了login请求之外,还有一个获取用户登录的信息

前后端分离------后端创建笔记(02),javaweb,笔记

37.1

38 重点是携带一个参数

前后端分离------后端创建笔记(02),javaweb,笔记

38.1

39 再看一下响应:

前后端分离------后端创建笔记(02),javaweb,笔记

39.1

40 (先要学习springBoot)

前后端分离------后端创建笔记(02),javaweb,笔记

40.1

41、统一的数据格式,这里我弄后端的时候,也要设计成这种模式,提前写明返回参数是什么,必须拿下springBoot

前后端分离------后端创建笔记(02),javaweb,笔记

41.1

42 我们来实现一下这个接口,先来到userController控制器里,然后写一个GetMapping(“/info”)请求

前后端分离------后端创建笔记(02),javaweb,笔记

42.1 我们返回什么东西那,我们返回的数据时比较复杂的,这里面是个对象,

前后端分离------后端创建笔记(02),javaweb,笔记

43 回到返回的数据,写类类型,想写类类型,类类型写?也可以

前后端分离------后端创建笔记(02),javaweb,笔记

43.1 我们再写一个getUserInfo的接口,他需要携带一个参数,跟在/info后面,这里需要用到一个注解RequsetParm

前后端分离------后端创建笔记(02),javaweb,笔记

43.2 来获得一个类型String,这个token是什么,是我们前面登录接口里面

前后端分离------后端创建笔记(02),javaweb,笔记

44 这个登录接口里面

前后端分离------后端创建笔记(02),javaweb,笔记

44.1写入了一个token,暂时是UUID生成的,

 前后端分离------后端创建笔记(02),javaweb,笔记

45 根据token获取用户信息,从我们的redis中进行获取,因为我们把我们的数据存入到了redis里面:我们需要他把一个data数据给我

前后端分离------后端创建笔记(02),javaweb,笔记

45.1 之后我们把我们的数据给带出去

前后端分离------后端创建笔记(02),javaweb,笔记

 45.2 再多写一个逻辑,增加一个判断

前后端分离------后端创建笔记(02),javaweb,笔记

45.3 如果你没查到数据,那么你的登录一定是失效的

 45.4 用户信息失效,请重新登录

45.5 这个接口我没有实现,一定要按住alt + enter,生成接口方法

前后端分离------后端创建笔记(02),javaweb,笔记

前后端分离------后端创建笔记(02),javaweb,笔记

46 来到我们serive里面,给他添加一个实现

前后端分离------后端创建笔记(02),javaweb,笔记

46.1 这里面的逻辑就是我们写的这句话

前后端分离------后端创建笔记(02),javaweb,笔记

 46.2 我们需要token,从里面获取验证信息

前后端分离------后端创建笔记(02),javaweb,笔记

 46.3 token就是我们的key,我们现在得到的结果一定不是我们的user对象

前后端分离------后端创建笔记(02),javaweb,笔记

前后端分离------后端创建笔记(02),javaweb,笔记

47之前做了序列化处理,现在我们要做反序列化处理,才能够获取user对象

47.1 首先user对象不能等于null,我们才做这件事

前后端分离------后端创建笔记(02),javaweb,笔记

 47.2 在pom.xml中导入fastjson,导进来之后回到我们serive里面,之后我们可以将我们传入的对象,反序列化我们的目标类型 

前后端分离------后端创建笔记(02),javaweb,笔记

47.3 我们想要做的事情,我们想获得他的登录数据,但这个类型是不对的,这个类型是object

前后端分离------后端创建笔记(02),javaweb,笔记

 47.4 他这里做了重载,这里面有很多类型

前后端分离------后端创建笔记(02),javaweb,笔记

 47.5 本质上他是一个hashMap对象,把他转换为一个json字符串

前后端分离------后端创建笔记(02),javaweb,笔记

47.6 外面套个东西,把他反序列化一下 

47.7 反序列化之后,我们就可以把他的user给取出来,我们定义一个返回的数据对象,new一个hashMap

前后端分离------后端创建笔记(02),javaweb,笔记

47.8  之后我们往里面放数据

 47.9 用户名为name,如果你想前端不加name的话,前端代码还需要一点点微调

前后端分离------后端创建笔记(02),javaweb,笔记

 47.10 我们需要到loginUser里拿用户名

前后端分离------后端创建笔记(02),javaweb,笔记

 47.11 再存入一个数据头像,这下面是用户头像的地址

前后端分离------后端创建笔记(02),javaweb,笔记

 

前后端分离------后端创建笔记(02),javaweb,笔记 

 

前后端分离------后端创建笔记(02),javaweb,笔记

47.12 角色管理,在我们一般权限的设计里,一个用户可能会身兼数职,角色不会限定于一个,因此一般是数组

前后端分离------后端创建笔记(02),javaweb,笔记

47.13 角色表,创建一个简单的角色表

 47.14 角色表,一号用户他的角色就是1号角色,起到权限控制 

前后端分离------后端创建笔记(02),javaweb,笔记

47.15  一号角色就是admin的角色,他是个超级管理员,同时他也是一个普通员工

前后端分离------后端创建笔记(02),javaweb,笔记

前后端分离------后端创建笔记(02),javaweb,笔记

48 之后我想查他是什么角色,我要查这张表,把角色id给查出来

前后端分离------后端创建笔记(02),javaweb,笔记

48.1 放到我们的角色列表里:把角色id查出来,放到我们这张表里

角色id

前后端分离------后端创建笔记(02),javaweb,笔记

 

前后端分离------后端创建笔记(02),javaweb,笔记

48.2 关联查询的缺点,随着数据量的增大,关联查询效率是很低的

前后端分离------后端创建笔记(02),javaweb,笔记

48.3 这里我已经拿到了用户信息,现在要使用用户id

前后端分离------后端创建笔记(02),javaweb,笔记

 48.4  我要查询用户id,并且用户id还是1

前后端分离------后端创建笔记(02),javaweb,笔记

 48.5 查到了两条数据

前后端分离------后端创建笔记(02),javaweb,笔记

 48.6 实际我想要角色id, 我想放到我项目里面,做一个角色的名称

前后端分离------后端创建笔记(02),javaweb,笔记

48.7 关联有两种方式,一种是内连接,一种是外连接 

前后端分离------后端创建笔记(02),javaweb,笔记

48.8 内连接就是我们角色id,和另一个id都必须存在

前后端分离------后端创建笔记(02),javaweb,笔记

 48.9 外连接是如果我们用户满足这张表,这张表的数据可以查出来,另一张表的数据不影响

前后端分离------后端创建笔记(02),javaweb,笔记

49 如果你数据完整,内连接,外连接都一样,现在我们用内连接,关联x_role表

 

前后端分离------后端创建笔记(02),javaweb,笔记

49.1弄了两张表

前后端分离------后端创建笔记(02),javaweb,笔记

 49.2 角色id 关联上

前后端分离------后端创建笔记(02),javaweb,笔记

 49.3 关联上用户角色等级 

前后端分离------后端创建笔记(02),javaweb,笔记

49.4 没有.是一种错误

前后端分离------后端创建笔记(02),javaweb,笔记

 前后端分离------后端创建笔记(02),javaweb,笔记

 现在我只想查role_name,现在我可以查到两个角色

前后端分离------后端创建笔记(02),javaweb,笔记

50 现在我写外连接,左外连接,以左边为主表

前后端分离------后端创建笔记(02),javaweb,笔记

50.1 外连接的写法:(我们用外连接,如果)

前后端分离------后端创建笔记(02),javaweb,笔记

 50.2 这个条件关联不上,但是主板的数据符合,也是可能查出来的

前后端分离------后端创建笔记(02),javaweb,笔记

 50.3 用内连接如果关联条件查不上,那么整条条件也查不出

前后端分离------后端创建笔记(02),javaweb,笔记

51、写一条sql语句

前后端分离------后端创建笔记(02),javaweb,笔记

51.1 resultType结果类型

前后端分离------后端创建笔记(02),javaweb,笔记

 51.2 把sql语句给复制过去

前后端分离------后端创建笔记(02),javaweb,笔记

 51.3 这里的1不要写死,是我们传入的参数

前后端分离------后端创建笔记(02),javaweb,笔记文章来源地址https://www.toymoban.com/news/detail-650347.html

到了这里,关于前后端分离------后端创建笔记(02)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 前后端分离------后端创建笔记(09)密码加密网络安全

    本文章转载于【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/1ZZ8c-kRPUxY6FWzsoOOjtA 提取码:up4c 项目概述笔记:https://blog.c

    2024年02月12日
    浏览(46)
  • 【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 后端

    配套视频地址:https://www.bilibili.com/video/BV1dG4y1T7yp/ 如果您需要原版笔记,请up喝口水,可以上我的淘宝小店 青菜开发资料 购买,或点击下方链接直接购买: 源码+PDF版本笔记 源码+原始MD版本笔记 感谢支持! 创建springboot项目:2.7.8 pom依赖 yml 测试 编写代码生成器 启动类加注

    2024年02月04日
    浏览(49)
  • 【javaweb】学习日记Day3 - Ajax 前后端分离开发 入门

    目录 一、Ajax 1、简介 2、Axios (没懂 暂留) (1)请求方式别名 (2)发送get请求 (3)发送post请求 (4)案例 二、前端工程化 1、Vue项目-目录结构 2、Vue项目-启动 (1)vscode页面启动 (2)cmd命令框启动 3、配置Vue端口号 4、Vue项目开发流程 三、Vue组件库 - Element  1、快速入门

    2024年02月12日
    浏览(30)
  • 后端SpringBoot+前端Vue前后端分离的项目(二)

    前言:完成一个列表,实现表头的切换,字段的筛选,排序,分页功能。 目录 一、数据库表的设计 二、后端实现 环境配置 model层  mapper层 service层  service层单元测试 controller层 三、前端实现 interface接口 接口api层 主要代码 效果展示 引入mybatis-plus依赖 MerchandiseDetailsService文

    2024年02月09日
    浏览(46)
  • 前后端分离 后端获取不到header解决方案

    我这里只是把重要的逻辑放在里面,如果要看所有文件的话就太多了 这个案例不要拿来用,这个是有问题的,我只是讲一下问题在哪

    2024年02月12日
    浏览(58)
  • 后端SpringBoot+前端Vue前后端分离的项目(一)

    前言:后端使用SpringBoot框架,前端使用Vue框架,做一个前后端分离的小项目,需求:实现一个表格,具备新增、删除、修改的功能。 目录 一、数据库表的设计 二、后端实现 环境配置 数据处理-增删改查 model层 mapper层 XML配置 Service层 controller层 单元测试 三、前后端交互 配置

    2024年02月10日
    浏览(56)
  • 解决前后端分离项目后端设置响应头前端无法获取

    在开发前后端分离项目中出现后端设置响应头,前端一直无法获取等问题。 后端设置响应头代码如下 在浏览器中我们是可以看到设置的响应头 Content-Disposition 属性,但是在前端接收到的响应信息中却看不到我们设置的 Content-Disposition 属性。 原来在前后端分离的项目中除了需

    2024年02月04日
    浏览(50)
  • 若依框架(前后端分离) 之IDEA中Maven后端打包

    Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理,是一个自动化构建工具。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的(

    2024年02月09日
    浏览(50)
  • Python前后端分离之Django框架最基本后端CRUD开发

    目录   Django介绍: 开发准备 后端编写Django项目里的app模块 编写models.py文件(写模型):  编写序列化文件(serializers.py) 编写视图(Views) 新建urls.py文件,填写路径 ​编辑 进行迁移: 前端: 编写接口文件api.js 编写CRUD文件 编写index.vue文件 前端界面使用: 运行项目: 提

    2024年01月23日
    浏览(52)
  • 全面解析若依框架(springboot-vue前后分离--后端部分)

    前端启动 后端启动 创建数据库ry-vue,导入ry_2021xxxx.sql,quartz.sql,加载好依赖直接启动。 后端技术 SpringBoot Spring Security JWT MyBatis Druid Fastjson 分页实现 导入导出 上传下载(框架使用的简单,不做讲解) 权限控制 事务管理(这里使用@Transactional,不做讲解,具体和Spring的8种事务

    2024年01月16日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包