码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 瑞吉外卖 —— 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、介绍

    1.2、开发流程

    2、Swagger

    2.1、介绍

    2.2、使用

    2.2.1、导入依赖

    1. <dependency>
    2. <groupId>com.github.xiaoymingroupId>
    3. <artifactId>knife4j-spring-boot-starterartifactId>
    4. <version>3.0.2version>
    5. dependency>

    2.2.2、导入 knife4j 配置

    在 WebMvcConfig 类上加上两个注解

    1. @EnableSwagger2
    2. @EnableKnife4j

    然后添加两个方法

    1. @Bean
    2. public Docket createRestApi() {
    3. // 文档类型
    4. return new Docket(DocumentationType.SWAGGER_2)
    5. .apiInfo(apiInfo())
    6. .select()
    7. .apis(RequestHandlerSelectors.basePackage("com.itheima.reggie.controller"))
    8. .paths(PathSelectors.any())
    9. .build();
    10. }
    11. private ApiInfo apiInfo() {
    12. return new ApiInfoBuilder()
    13. .title("瑞吉外卖")
    14. .version("1.0")
    15. .description("瑞吉外卖接口文档")
    16. .build();
    17. }

    2.2.3、设置静态资源映射

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

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

    2.2.4、设置过滤器放行路径

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

    1. // knife4j 放行路径
    2. "/doc.html",
    3. "/webjars/**",
    4. "/swagger-resources",
    5. "/v2/api-docs"

    2.2.5、测试

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

    2.3、常用注解

    3、项目部署

    3.1、部署架构

    3.2、部署环境

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

    192.168.44.127:主从复制的从库

    3.2、部署前端项目

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

    ② 修改 nginx.conf

    1. server{
    2. listen 80;
    3. server_name localhost;
    4. location / {
    5. root html/dist; # 根目录
    6. index index.html; # 默认首页
    7. }
    8. # 反向代理
    9. location ^~ /api/ {
    10. rewrite ^/api/(.*)$ /$1 break; # rewirte:重写url,将 /api/ 除去
    11. proxy_pass proxy_pass http://192.168.44.128:8080;
    12. }
    13. error_page 500 502 503 504 /50x.html;
    14. location = /50x.html{
    15. root html;
    16. }
    17. }

    3.3、部署后端项目

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

    git clone http://...

    然后使用 maven 将项目打包

    mvn clean package -Dmaven.test.skip=true

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

    1. echo 准备从Git仓库拉取最新代码
    2. 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 中将图片路径修改为可用路径

    1. reggie:
    2. path: /usr/local/javaapp/reggie_img

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

  • 相关阅读:
    〔020〕Stable Diffusion 之 骨骼姿势 篇
    OMO模式成为教育行业“标配“
    科目三:超车
    《DREEAM Guiding Attention with Evidence for Improving Document-Level Relation Extraction》阅读笔记
    Spring Cloud 配置中心多环境配置bootstrap.yml
    【博士每天一篇文献-算法】iCaRL_ Incremental Classifier and Representation Learning
    K8S数据采集组件metrics-server安装
    【kafka】记一次kafka基于linux的原生命令的使用
    Win11怎么把桌面文件路径改到D盘
    小程序基础
  • 原文地址:https://blog.csdn.net/Mr_zhangyj/article/details/126936381
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号