前后端分离项目知识汇总(阿里云Oss,EasyExcel,视频点播,SpringCloud,Redis,Nuxt)-1

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 前后端分离项目知识汇总(阿里云Oss,EasyExcel,视频点播,SpringCloud,Redis,Nuxt)

前言


源码代码:

https://github.com/YuyanCai/gulixueyuan-back–zs

https://github.com/YuyanCai/gulixueyuan-front–zs


前端页面:

https://github.com/YuyanCai/guli-xy-fd


整合CRUD


前后端对接流程

我们这里拿查询所有user做实例

全栈开发流程


添加路由

模板中给的其实也有目录,我们看着复制粘贴根据自己的需求改改即可


点击路由显示页面

redirect:'/teacher/table’作用是当访问/teacher时会自动跳到/teacher/table

component是做布局的,就是页面做固定不动的部分

在api文件夹创建js文件,定义接口地址和参数

创建vue页面引入js文件,调用方法实现功能

我们先来了解一下response对象

以下是response对象的属性和方法

所以说,response就是代表接口返回的数据

在看我们后端定义的接口


这里的scope.row是获取行数据是固定写法

这样功能就实现了


补充下分页条实现方式

分页条

直接拿element-ui里面的来用就可以


因为我分页条和表单在同一页面,所以写在同一组件下

多条件查询

直接拿element-ui里面的来用就可以

因为我分页条和表单在同一页面,所以写在同一组件下

主要是js对象和java对象的问题,注意区分即可

其余的也是直接用element-ui组件直接拿过来改改数据

有了查询对象之后把查询对象传入我们写的获取讲师列表即可

我们在查询按钮绑定方法


测试

删除功能

增加功能


3、定义增加API

4、引入js,写vue页面

5、测试

6、补充


修改功能

我们想让增加和修改在同一页面下进行

增加和修改不同点在于,修改要做数据回显

那么如何区分这两个请求呢?

答案是修改的时候地址栏会有id,而保存没有

定义Api、定义路由、定义跳转路径


修改功能逻辑

测试

修改成功


修改是用put请求还是post请求?

idempotent 幂等的

这两个方法看起来都是讲一个资源附加到服务器端的请求,但其实是不一样的。一些狭窄的意见认为,POST方法用来创建资源,而PUT方法则用来更新资源。


幂等(idempotent、idempotence)是一个抽象代数的概念。在计算机中,可以这么理解,一个幂等操作的特点就是其任意多次执行所产生的影响均与依次一次执行的影响相同。


POST在请求的时候,服务器会每次都创建一个文件,但是在PUT方法的时候只是简单地更新,而不是去重新创建。因此PUT是幂等的。


举一个简单的例子,假如有一个博客系统提供一个Web API,模式是这样http://superblogging/blogs/post/{blog-name},很简单,将{blog-name}替换为我们的blog名字,往这个URI发送一个HTTP PUT或者POST请求,HTTP的body部分就是博文,这是一个很简单的REST API例子。我们应该用PUT方法还是POST方法?取决于这个REST服务的行为是否是idempotent的,假如我们发送两个http://superblogging/blogs/post/Sample请求,服务器端是什么样的行为?如果产生了两个博客帖子,那就说明这个服务不是idempotent的,因为多次使用产生了副作用了嘛;如果后一个请求把第一个请求覆盖掉了,那这个服务就是idempotent的。前一种情况,应该使用POST方法,后一种情况,应该使用PUT方法。


整合阿里云OSS

我们想实现在添加讲师信息的时候加上头像上传功能,怎么办呢?

用阿里云的OSS对象存储即可

环境部署

首先我们打开阿里云注册个OSS对象存储


Java操作OSS

详细操作可查官方文档,下面只写关键代码

[SDK示例 (aliyun.com)](https://help.aliyun.com/document_detail/32008.html)

1、定义工具类读取配置文件

通过继承InitializingBean

当项目已启动,spring加载之后,执行接口一个方法。就是afterPropertiesSet

读取配置文件内容后,在通过执行接口里的一个方法,从而让外面能使用


2、编写上传文件接口


MultipartFile类是org.springframework.web.multipart包下面的一个类,如果想使用MultipartFile类来进行文件操作,那么一定要引入Spring框架。MultipartFile主要是用表单的形式进行文件上传,在接收到文件时,可以获取文件的相关属性,比如文件名、文件大小、文件类型等等。


我们对着官网实例进行修改

3、controller调用接口

4、前端部分

引入上传图片框也在save页面,所以


5、测试

上传成功


nginx反向代理

Nginx快速入门_小蜗牛耶的博客-CSDN博客_nginx 快速入门


首先知道nginx的配置文件是nginx.config


其次是nginx的配置文件是可以看成一个http请求处理的


然后是nginx的server服务。可以理解为每个服务监听不同的端口,分发不同的连接服务。如果是自己的可以直接删掉初始server ,直接新建自己的server。

配置文件如下:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
  client_max_body_size 1024m;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       81;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
  server {
        listen       9001;    #监听端口号
        server_name  localhost;  #主机名称
        location ~ /eduService/ {  #匹配路径        
            proxy_pass http://localhost:8001;
        }
    location ~ /eduService1/ {  #匹配路径        
            proxy_pass http://localhost:6001;
        }
        location ~ /eduUser/ {
            proxy_pass http://localhost:8001;
        }
        location ~ /eduOss/ {
            proxy_pass http://localhost:8002;
        }
        location ~ /eduVod/ {
            proxy_pass http://localhost:8003;
        }
        location ~ /eduCms/ {
            proxy_pass http://localhost:8004;
        }
        location ~ /ucenterService/ {
            proxy_pass http://localhost:8006;
        }
        location ~ /eduMsm/ {
            proxy_pass http://localhost:8005;
        }
        location ~ /orderService/ {
            proxy_pass http://localhost:8007;
        }
        location ~ /staService/ {
            proxy_pass http://localhost:8008;
        }
        location ~ /admin/ {
            proxy_pass http://localhost:8009;
        }
    }
}

启动nginx

修改项目访问路径为nginx的ip


前后端分离项目知识汇总(阿里云Oss,EasyExcel,视频点播,SpringCloud,Redis,Nuxt)-2

https://developer.aliyun.com/article/1425269?spm=a2c6h.13148508.setting.25.51724f0eKyy4D1

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
7月前
|
存储 NoSQL Redis
阿里云高性能数据库Tair(兼容 Redis)收费价格,稳定可靠成本低
阿里云高性能云数据库Tair兼容Redis,提供Redis开源版和Tair企业版,支持多种存储介质与灵活扩展,适用于高并发场景。Tair具备亚毫秒级稳定延迟,保障业务连续性。价格方面,Redis开源版年费从72元起,Tair企业版年费从1224元起,具体费用根据配置不同有所变化。
NoSQL 数据可视化 关系型数据库
185 0
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
580 0
|
监控 NoSQL Redis
开发者如何使用阿里云Redis
【10月更文挑战第2天】开发者如何使用阿里云Redis
2053 0
|
NoSQL 安全 容灾
阿里云DTS踩坑经验分享系列|Redis迁移、同步
阿里云数据传输服务DTS在帮助用户迁移Redis数据、同步数据时,在某些复杂场景下会出现报错,或者源库与目标库数据不一致的问题,给用户带来困扰。本文介绍了DTS Redis到Redis迁移、同步过程中的典型问题,以帮助用户更好地使用DTS。
1664 2
|
NoSQL Cloud Native Redis
|
对象存储
大事件后端项目32--------文件上传_阿里云OSS_程序集成
大事件后端项目32--------文件上传_阿里云OSS_程序集成
|
存储 Java Maven
大事件后端项目31--------文件上传_阿里云OSS_入门程序
大事件后端项目31--------文件上传_阿里云OSS_入门程序
|
存储 运维 Java
大事件后端项目30------文件上传_阿里云OSS_准备工作
大事件后端项目30------文件上传_阿里云OSS_准备工作

热门文章

最新文章

下一篇
开通oss服务