瑞吉外卖和苍穹外卖项目重难点、易错点和涉及到的技术的总结归纳

本文是对瑞吉外卖和苍穹外卖项目的总结,会对课程里的代码和涉及到的技术进行讲解,重点归纳难点以及易错点。(前面是对项目的介绍,可以直接略过看第四点和第五点的知识点总结)

瑞吉外卖和苍穹外卖的大部分功能都是重合的,建议大家先看瑞吉外卖,再看苍穹外卖独有的知识点。因为瑞吉外卖是从项目最开始构建的,讲解的比较全,苍穹外卖主要是多了许多功能,可以直接上线使用。

视频链接:

瑞吉外卖

 苍穹外卖

一. 项目介绍

本项目是专门为餐饮企业定制的一款软件产品,包括管理端和用户端两部分。其中管理端主要提供给外卖商家使用,包括工作台、数据统计、员工管理、菜品管理、套餐管理、分类管理、订单管理、来电提醒等功能。移动端主要提供给消费者使用,包括微信小程序登录、浏览菜品、添加购物车、用户下单、微信支付、历史订单、地址管理、用户催单等功能

本项目共分为3期进行开发:

第一期主要实现基本需求,其中移动端应用通过H5实现,用户可以通过手机浏览器访问。
第二期主要针对移动端应用进行改进,使用微信小程序实现,用户使用起来更加方便。
第三期主要针对系统进行优化升级,提高系统的访问性能。

二.技术架构

项目属于前后端分离,前端使用H5页面以及vue框架构建页面,或者使用微信小程序开发。

网关使用的是Nginx代理服务器作为地址的转发,以及集群的Tomcat配置分发。

应用层主要就是使用Spring一系列技术,SpringSession是用来解决集群session共享的问题,数据层使用的MyBatis与数据库交互。

代码管理工具使用的是Git以及Maven仓库。

三.功能描述

移动端前台主要是使用H5页面以及微信小程序搭建前端页面,主要功能有:

  • 手机号登录
  • 微信登录
  • 历史订单
  • 菜品规格
  • 购物车
  • 下单
  • 菜品浏览

系统后台主要实现功能:

  • 分类管理
  • 菜品管理
  • 套餐管理
  • 菜品口味管理
  • 员工管理
  • 订单管理

四.瑞吉外卖总结归纳

首先在开发环境搭建时,直接按照视频步骤操作和导入相关文件即可,有几个需要注意的点:

1.记得把application.yaml文件里的数据库账号密码改成自己的。

2.前端代码和pom文件在原始资料中不全,建议直接复试day06的前端代码和pom文件。

先说一下这个项目每个业务的基本框架:

1.从课程资料导入实体类

2.创建mapper接口继承basemapper<>,并添加@mapper注解

3.创建业务层接口Service继承IService<>

4.创建业务层实现类ServiceImpl继承ServiceImpl<mapper,entity>,实现Service接口,添加@service注解

5.创建控制层Controller,添加@restcontroller,@requestmapping注解,通过@autowird注入service属性

这里再归纳一下项目中经常用到的post和get请求,还有@requestbody和@requestparam的区别:

get和post请求的区别:

@GetMapping常用于查询数据,而@PostMapping常用于提交数据。

1.GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,即所有的非ASCII字符都要编码之后再传输。

post请求对数据类型没有限制,也允许二进制数据。

2.在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。

对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制

3.POST 比 GET 安全,因为数据在地址栏上不可见。通过GET请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。

然而从传输的角度来说,他们都是不安全的,因为 HTTP 在网络上是明文传输,只要在网络节点上抓包,就能完整地获取数据报文。
要想安全传输,就只有加密,也就是 HTTPS

@PostMapping一般处理对象的findUser

@GetMapping一般处理单个id,比如findbyId

@PutMapper一般用在编辑,也可以只用上面两种

@PostMapping和@PutMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping。两者差别不是很明显。

@Requestbody和@requestparam的区别:

@ResquestBody要搭配@PostMapping使用,@ResquestParam要搭配@GetMapping使用。

注解@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理application/json、application/xml等类型的数据。

在GET请求中@RequestBody并不适用。

在post请求中,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody,对于参数转化的配置必须统一。

可以使用多个@RequestParam获取数据,@RequestBody不可以

JSON介绍:

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于在不同系统之间传递和存储数据。JSON以易于阅读和编写的文本格式表示结构化数据,通常由对象(键值对的集合)和数组(有序值的列表)组成。它广泛用于Web应用程序中,特别是在构建RESTful API时作为数据格式。

JSON的一些特点包括:

  1. 简洁性和可读性:JSON的文本格式易于理解和编辑,便于开发人员进行调试和数据处理。

  2. 数据结构:JSON支持键值对(对象)和有序值列表(数组)的嵌套结构,可以表示复杂的数据关系。

  3. 跨语言支持:JSON是一种独立于编程语言的数据格式,几乎所有现代编程语言都有对JSON的支持,因此可以在不同的语言之间进行数据交换。

  4. 广泛应用:JSON常用于配置文件、API响应和请求、数据存储等场景。

  5. 下面是一个JSON对象的示例:

  6. {
      "name": "John",
      "age": 30,
      "city": "New York",
      "isStudent": false,
      "hobbies": ["reading", "swimming", "coding"],
      "address": {
        "street": "123 Main St",
        "zipCode": "10001"
      }
    }
    

    在这个例子中,有一个包含姓名、年龄、城市、是否为学生、爱好和地址等信息的JSON对象。键值对中的键(例如 "name")是字符串,值可以是字符串、数字、布尔值、数组、另一个对象等。

介绍RESTful API:

RESTful API(Representational State Transferful Application Programming Interface)是一种设计风格,用于构建分布式系统中的网络应用程序和服务。它基于HTTP协议,并遵循一组规范和约定,旨在使不同系统之间的通信更简单、可靠和可扩展。

RESTful API 的主要特点包括:

  1. 资源(Resources):RESTful API 将应用程序的数据和功能建模为资源。资源可以是任何事物,如用户、文章、订单等。每个资源都有一个唯一的标识符(URI)。

  2. HTTP方法(HTTP Methods):RESTful API 使用HTTP方法来表示对资源的操作。常用的HTTP方法包括 GET(获取资源)、POST(创建资源)、PUT(更新资源)和 DELETE(删除资源)等。

  3. 无状态性(Stateless):每个请求都应该包含足够的信息,以便服务器理解和处理请求,而不需要依赖之前的请求。服务器不会保留客户端的状态。

  4. 统一接口(Uniform Interface):RESTful API 使用统一的接口风格,使客户端能够一致地与不同的资源进行交互。这包括使用URI标识资源、使用HTTP方法执行操作、使用HTTP状态码表示结果等。

  5. 可缓存性(Caching):RESTful API 支持HTTP的缓存机制,客户端可以缓存服务器响应,以减少重复的网络请求。

  6. 按需编码(Code on Demand,可选):服务器可以向客户端传输可执行代码,以扩展客户端功能。然而,这通常在实际应用中较少使用。

通过遵循这些原则,RESTful API 提供了一种灵活、可伸缩且易于理解的方式来构建和维护网络服务。它被广泛用于构建Web应用程序的后端API,使不同平台和设备之间的通信变得更加简单和可靠。

@RestController注解,@RequestMapping注解,@RequestBody注解的作用:

@RestController是Spring框架中的一个注解,它的作用是将一个类标记为RESTful web服务的控制器。使用@RestController注解的类将自动处理传入的HTTP请求,并根据请求的内容和参数执行相应的操作,通常返回JSON或XML格式的数据作为响应。这使得开发人员能够快速构建可扩展和易于维护的RESTful web服务。与@Controller注解不同的是,@RestController注解不需要在每个请求处理方法上添加@ResponseBody注解,因为@RestController自动将所有方法返回的对象转换为HTTP响应体。

@RequestMapping注解是Spring框架中一个非常重要的注解,它用于将一个HTTP请求映射到一个特定的处理方法上。具体来说,@RequestMapping注解可以用于指定一个控制器(Controller)中的处理方法(Method)可以处理哪些HTTP请求(Request)以及如何处理这些请求。例如,可以使用@RequestMapping注解指定一个处理方法可以处理HTTP GET请求,或者指定一个处理方法需要一个特定的请求参数,或者指定一个处理方法需要一个特定的HTTP头部信息等等。@RequestMapping注解还可以用于指定处理方法所需的返回值类型&

  • 72
    点赞
  • 571
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
苍穹外卖项目可以使用Postman进行API接口的测试和调试。Postman是一款常用的API开发工具,它可以帮助开发人员发送HTTP请求并查看响应结果,方便进行接口的测试和调试。 在苍穹外卖项目中,可以使用Postman发送各种类型的HTTP请求,比如GET、POST、PUT、DELETE等,来模拟用户操作和测试接口功能。通过Postman,可以验证接口的正确性、查看接口返回的数据、调试接口的参数等。 为了使用Postman进行苍穹外卖项目的接口测试,您需要以下步骤: 1. 下载并安装Postman:您可以从Postman官网(https://www.postman.com/)上下载并安装适合您的操作系统的版本。 2. 打开Postman并创建一个新的请求:打开Postman应用,在界面上选择"New"来创建一个新的请求。 3. 输入接口URL和选择请求方法:在新建请求的界面中,输入苍穹外卖项目的接口URL,并选择适当的请求方法,比如GET或POST。 4. 添加请求参数和请求头:根据需要,您可以添加请求参数和请求头,以便于模拟不同的请求情况。 5. 发送请求并查看响应:击发送按钮,Postman会向服务器发送请求,并在界面上显示响应结果。您可以查看接口返回的数据、响应状态码等信息。 通过以上步骤,您可以使用Postman进行苍穹外卖项目的接口测试。这样可以帮助您确保接口的正确性和稳定性,提高项目的质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值