瑞吉外卖 —— 13、项目优化:YApi、Swagger、项目部署

目录

1、前后端分离开发

1.1、介绍

1.2、开发流程

2、Swagger

2.1、介绍

2.2、使用

2.2.1、导入依赖

2.2.2、导入 knife4j 配置

2.2.3、设置静态资源映射

2.2.4、设置过滤器放行路径

2.2.5、测试

2.3、常用注解

3、项目部署

3.1、部署架构

3.2、部署环境

3.2、部署前端项目

3.3、部署后端项目

3.4、解决 Linux 下图片路径问题


1、前后端分离开发

1.1、介绍

瑞吉外卖 —— 13、项目优化:YApi、Swagger、项目部署_第1张图片

1.2、开发流程

瑞吉外卖 —— 13、项目优化:YApi、Swagger、项目部署_第2张图片

2、Swagger

2.1、介绍

瑞吉外卖 —— 13、项目优化:YApi、Swagger、项目部署_第3张图片

2.2、使用

瑞吉外卖 —— 13、项目优化:YApi、Swagger、项目部署_第4张图片

2.2.1、导入依赖

        
        
            com.github.xiaoymin
            knife4j-spring-boot-starter
            3.0.2
        

2.2.2、导入 knife4j 配置

在 WebMvcConfig 类上加上两个注解

@EnableSwagger2
@EnableKnife4j

然后添加两个方法

    @Bean
    public Docket createRestApi() {
        // 文档类型
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.itheima.reggie.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("瑞吉外卖")
                .version("1.0")
                .description("瑞吉外卖接口文档")
                .build();
    }

2.2.3、设置静态资源映射

在 WebMvcConfig 类的 addResourceHandlers 配置静态资源映射

        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");

2.2.4、设置过滤器放行路径

在 LoginCheckFilter 类的 doFilter 方法添加放行路径

                // knife4j 放行路径
                "/doc.html",
                "/webjars/**",
                "/swagger-resources",
                "/v2/api-docs"

2.2.5、测试

在浏览器访问 http://localhost:8080/doc.html ,可以看到接口文档

2.3、常用注解

瑞吉外卖 —— 13、项目优化:YApi、Swagger、项目部署_第5张图片

3、项目部署

3.1、部署架构

瑞吉外卖 —— 13、项目优化:YApi、Swagger、项目部署_第6张图片

3.2、部署环境

192.168.44.128:主从复制的主库、redis、nginx

192.168.44.127:主从复制的从库

3.2、部署前端项目

① 将资料中前端打包后的文件 dist 传到 nginx 根目录下的 html 目录

② 修改 nginx.conf

    server{
        listen 80;
        server_name localhost;

        location / {
            root html/dist;     # 根目录
            index index.html;   # 默认首页
        }

        # 反向代理
        location ^~ /api/ {
            rewrite ^/api/(.*)$ /$1 break;      # rewirte:重写url,将 /api/ 除去
            proxy_pass proxy_pass http://192.168.44.128:8080;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html{
            root html;
        }
    }

3.3、部署后端项目

① 在服务器安装 jdk、git、maven、MySQL,使用 git 将项目克隆下来

git clone http://...

然后使用 maven 将项目打包

mvn clean package -Dmaven.test.skip=true

② 将资料中的 reggieStart.sh 自动部署脚本导入,这里稍作修改,将这里的目录改为自己存放的位置

echo 准备从Git仓库拉取最新代码
cd /usr/local/javaapp/reggie

然后授予能够执行 sh 脚本的权限

chmod 777 reggieStart.sh

③ 执行 sh 脚本文件

./reggieStart.sh

若这里每次从 git 拉取代码都需要输入账号密码,可以输入下面的命令

git config --global credential.helper store

3.4、解决 Linux 下图片路径问题

在 application.yml 中将图片路径修改为可用路径

reggie:
  path: /usr/local/javaapp/reggie_img

然后将图片上传到该路径即可

你可能感兴趣的:(瑞吉外卖,yapi)