黑马-苍穹外卖开发Day1学习打卡

后端初始工程项目结构

  1. sky-take-out: maven父工程,统一管理以来版本,聚合其他子模块
  2. sky-common: 子模块,存放公共类,一般是被以来的子模块
  3. sky-pojo: 子模块存放实体类
  4. sky-server: 子模块,后端服务,存放Controller,Service,Mapper等

其中 sky-pojo中的各实体类区别

名称 说明
Entity 实体,字段通常和数据库中的表对应
DTO 数据传输对象,通常用于前后端之间的传递数据
VO 视图对象,为前端展示数据提供的对象
POJO 普通Java对象,只有属性和对应的getter和setter

idea中快捷键学习

idea中查找接口的实现类快捷键:ctrl + alt +B

Debug中Resume Program使从上一个断点直接运行到下一个断点中。

一些知识

JWT代表JSON Web Token,通常被用于在用户和服务之间传递身份验证信息,以确保数据的安全性和完整性。JWT是一种紧凑的、自包含的方式来表示信息,通常被用于身份验证和信息交换的场景。

一个JWT由三部分组成:

Header(头部): 包含了描述JWT的基本信息,例如算法和令牌类型。
Payload(载荷): 包含了需要传递的用户信息或声明。载荷可以包含注册的声明(预定义的一些声明)和自定义的声明。
Signature(签名): 使用头部中指定的算法和密钥对头部和载荷的组合进行签名。签名用于验证消息的完整性和真实性。
JWT的主要作用有以下几点:

身份验证(Authentication): 用户登录后,服务器生成一个包含用户信息的JWT,将其返回给客户端。客户端在后续的请求中通过在请求头中附加JWT来进行身份验证。

信息交换(Information Exchange): 在不同的系统之间传递信息,因为JWT是自包含的,它包含了所有必要的信息,避免了需要在服务器存储会话信息的需求。

声明(Claims): 可以在JWT中加入额外的声明,用于提供关于实体(通常是用户)的一些信息,以及关于该令牌的元数据。这些声明被加密签名,以确保它们在传输过程中不被篡改。

需要注意的是,JWT中的信息虽然经过签名验证,但并不加密,因此在使用时要确保在不可信任的环境中不泄漏敏感信息。

通过NGINX反向代理实现浏览器和后端请求API不一致问题。

如何测试接口?

在这里插入图片描述
使用方式

  1. 需要导入knife4j的maven坐标
  2. 在配置类中加入knife4j相关配置
  3. 设置静态资源映射,否则接口文档页面无法访问

knife4j中webjars与doc.html的作用

  • webjars:

    作用: WebJars是一种将Web前端资源打包并提供为Java库的方式。在Swagger UI中,webjars
    目录用于存放WebJars中Swagger UI相关的资源文件,包括样式表、JavaScript文件等。

    意义: 通过使用WebJars,Swagger UI的前端资源得以打包并作为依赖引入到项目中,使得项目可以更方便地管理和使用Swagger
    UI的相关静态文件。

  • doc.html:

    作用: doc.html 文件是Swagger UI的入口文件,用于加载并展示API文档。

    意义: 当你访问Swagger UI的页面时,实际上是访问了 doc.html 文件,该文件通过引入 webjars
    目录下的Swagger UI资源,构建出可交互的API文档界面。你可以通过访问 doc.html 来查看API文档并进行交互式的测试。

  • 综合
    webjars 存放Swagger UI的静态资源文件,而 doc.html 是Swagger UI的入口文件,通过加载
    webjars 中的资源构建出可视化的API文档页面。这种组织结构和文件布局使得Swagger UI在Java项目中更容易集成和管理。

Swagger的常用注解
黑马-苍穹外卖开发Day1学习打卡_第1张图片

你可能感兴趣的:(Java,学习,intellij-idea,java,spring,boot,nginx,github)