建设一个网站需要什么技术,wordpress 阿里云,wordpress评论头像问题,深圳人口项目介绍
定位#xff1a;专门为餐饮企业#xff08;餐厅、饭店#xff09;定制的一款软件产品
功能架构#xff1a;
管理端 - 外卖商家使用
用户端 - 点餐用户使用 技术栈#xff1a; 开发环境的搭建
整体结构#xff1a; 前端环境
前端工程基于 nginx 运行 - Ngi…项目介绍
定位专门为餐饮企业餐厅、饭店定制的一款软件产品
功能架构
管理端 - 外卖商家使用
用户端 - 点餐用户使用 技术栈 开发环境的搭建
整体结构 前端环境
前端工程基于 nginx 运行 - Nginx目录必须放在没有中文的目录中才能正常运行 - 当前Nginx的配置文件中已经配置了反向代理通过此配置可以将前端请求转发到后端服务
【Nginx】Nginx详解及应用指南-CSDN博客
Nginx是一个高性能的HTTP和反向代理服务器也是一个IMAP/POP3代理服务器。 反向代理客户端只与代理服务器通信代理服务器转发请求到多个后端服务器。常用于负载均衡和安全性增强。客户端和代理服务器的通信 正向代理客户端通过代理服务器访问互联网代理服务器代表客户端发起请求常用于隐私保护和访问控制。代理服务器和互联网的通信 后端环境
后端工程基于 maven 进行项目构建并且进行分模块开发
超级详细的 Maven 教程基础高级_maven教程-CSDN博客
Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。
一个 Maven 工程有约定的目录结构约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环就拿自动编译来说Maven 必须 能找到 Java 源文件下一步才能编译而编译之后也必须有一个准确的位置保持编译得到的字节码文件。 我们在开发中如果需要让第三方工具或框架知道我们自己创建的资源在哪 项目结构 序号 名称 说明 1 sky-take-out maven父工程统一管理依赖版本聚合其他子模块 2 sky-common 子模块存放公共类例如工具类、常量类、异常类等 3 sky-pojo 子模块存放实体类、VO、DTO等 4 sky-server 子模块后端服务存放配置文件、Controller、Service、Mapper等
sky-common 子模块中存放的是一些公共类可以供其他模块使用 sky-pojo 子模块中存放的是一些 entity、DTO、VO 名称 说明 Entity 实体通常和数据库中的表对应 DTO 数据传输对象通常用于程序中各层之间传递数据 VO 视图对象为前端展示数据提供的对象 POJO 普通Java对象只有属性和对应的getter和setter
sky-server 子模块中存放的是 配置文件、配置类、拦截器、controller、service、mapper、启动类等 使用Git进行版本控制
[Git] Git下载及使用 从入门到精通 详解附下载链接_git从入门到精通pdf下载-CSDN博客
Git是一个分布式版本控制工具主要用于管理开发过程中的源代码文件java类、xml文件、html页面等 使用Git进行项目代码的版本控制具体操作 创建Git本地仓库 创建Git远程仓库 将本地文件推送到Git远程仓库 数据库环境搭建 前端发送的请求是如何请求到后端服务的
nginx 反向代理就是将前端发送的动态请求由 nginx 转发到后端服务器 nginx 反向代理的好处 提高访问速度 进行负载均衡(就是把大量的请求按照我们指定的方式均衡的分配给集群中的每台服务器) 保证后端服务安全 nginx 反向代理的配置方式
server{listen 80;server_name localhost;location /api/ {proxy_pass http://localhost:8080/admin/; #反向代理}}nginx 负载均衡的配置方式
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/; #负载均衡}}nginx 负载均衡策略 名称 说明 轮询 默认方式 weight 权重方式默认为1权重越高被分配的客户端请求就越多 ip_hash 依据ip分配方式这样每个访客可以固定访问一个后端服务 least_conn 依据最少连接方式把请求优先分配给连接数少的后端服务 url_hash 依据url分配方式这样相同的url会被分配到同一个后端服务 fair 依据响应时间方式响应时间短的服务将会被优先分配
Swagger
使用Swagger只需要按照它的规范去定义接口及接口相关的信息就可以做到生成接口文档以及在线接口调试页面。 官网https://swagger.io/
Knife4j 是为Java MVC框架集成Swagger生成Api文档的增强解决方案。
Swagger-的使用(详细教程)_swagger使用-CSDN博客 使用方式 导入 knife4j 的maven坐标 在配置类中加入 knife4j 相关配置 设置静态资源映射否则接口文档页面无法访问 依赖
dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-spring-boot-starter/artifactIdversion3.0.2/version
/dependencyWebMvcConfiguration
/*** 设置静态资源映射* param registry*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info(“开始设置静态资源映射...);registry.addResourceHandler(/doc.html).addResourceLocations(classpath:/META-INF/resources/);registry.addResourceHandler(/webjars/**).addResourceLocations(classpath:/META-INF/resources/webjars/);
}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;
}接口文档访问路径为 http://ip:port/doc.html
通过 Swagger 就可以生成接口文档那么我们就不需要 Yapi 了
1、Yapi 是设计阶段使用的工具管理和维护接口
2、Swagger 在开发阶段使用的框架帮助后端开发人员做后端的接口测试 Swagger常用注解
通过注解可以控制生成的接口文档使接口文档拥有更好的可读性常用注解如下 注解 说明 Api 用在类上例如Controller表示对类的说明 ApiModel 用在类上例如entity、DTO、VO ApiModelProperty 用在属性上描述属性信息 ApiOperation 用在方法上例如Controller的方法说明方法的用途、作用