苍穹外卖Day1 项目介绍、工具、登录


前言

苍穹外卖介绍,前后端使用的技术,接口测试相关工具。在这部分完成了登录功能以及密码加密技术。

一、项目介绍

为餐饮行业定制的一款软件。分为管理端和用户端。

1、功能介绍

在这里插入图片描述

2、相关技术

在这里插入图片描述

2.1 前端

前端工程基于 nginx 运行
在这里插入图片描述

2.2 后端

在这里插入图片描述
分模块开发
在这里插入图片描述
相关实体类说明
在这里插入图片描述

2.3 前后端联调(Nginx)

在这里插入图片描述
前端发送的请求,是如何请求到后端服务的?
在这里插入图片描述
Nginx 反向代理技术,将前端发送的动态请求由nginx转发到后端服务器。
好处:

  • 提高访问速度(在这一层可以做一个缓存,如果请求的是同样的接口地址,就不需要再请求真正的后端服务,直接在index处就将缓存数据响应给前端了)
  • 进行负载均衡(项目上线后,由于访问量大,后端需要部署多态服务器构成一个集群,Nginx作为负载均衡器把大量的请求按照我们指定的方式均衡的分配给集群中的每台服务器)
  • 保证后端服务安全(后端服务部署在公司内部一个局域网内,并不对外开放,通过前端不能直接请求后端,所以前端发过来的请求先请求到Nginx服务器,然后再由Nginx服务器走内网将请求转发给后端的服务)

反向代理配置 nginx.conf

server{
	listen 80;
	server_name localhost;
	location /api/ {
            		proxy_pass   http://localhost:8080/admin/;  #反向代理
	}
}

负载均衡配置 nginx.conf

upstream webservers{
	server 192.168.100.128:8080;
	server 192.168.100.129:8080;
}
server{
	listen 80;
	server_name localhost;
	location /api/ {
            		proxy_pass   http://webservers/admin/;  #负载均衡
	}
}

深入理解反向代理

二、登录(MD5加密)

//进行md5加密,然后再进行比对password = DigestUtils.md5DigestAsHex(password.getBytes());
if (!password.equals(employee.getPassword())) {     //密码错误
  throw new PasswordErrorException(MessageConstant.PASSWORD_ERROR);}

三、导入接口文档(apifox)

apifox
在这里插入图片描述

四、Swagger

Swagger只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。
官网:https://swagger.io/

1、 Knife4j

为Java MVC框架集成Swagger生成Api文档的增强解决方案。

2、 使用步骤

1、导入依赖pom.xml

<dependency>
          <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.2</version>
</dependency>

2、在配置类中加入 knife4j 相关配置(WebMvcConfiguration)

   /**
     * 通过knife4j生成接口文档
     * @return
     */
    @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("苍穹外卖项目接口文档")
                .version("2.0")
                .description("苍穹外卖项目接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

3、设置静态资源映射,否则接口文档页面无法访问

/**
     * 设置静态资源映射
     * @param registry
     */
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

3、 使用方式

接口文档访问路径为 http://ip:port/doc.html
在这里插入图片描述

4、 常用注解

在这里插入图片描述


  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值