axios封装
import axios from 'axios'
import {Message, MessageBox} from 'element-ui'
import store from '../store'
import {getToken} from '@/utils/auth'
// 创建axios实例
const service = axios.create({
baseURL: process.env.BASE_API, // api 的 base_url
timeout: 20000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(
config => {
if (store.getters.token) {
config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
return config
},
error => {
// Do something with request error
console.log(error) // for debug
Promise.reject(error)
}
)
// response 拦截器
service.interceptors.response.use(
response => {
/**
* code为非20000是抛错 可结合自己业务进行修改
*/
const res = response.data
// debugger
if (res.code !== 20000) {
Message({
message: res.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject('error')
} else {
return response.data
}
},
error => {
console.log('err' + error) // for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
}
)
export default service
前端请求方式一
import request from '@/utils/request'
export default {
//讲师列表,分页
//current当前页,limit每页记录数,teacherQuery分页条件
getTeacherListPage(current,limit,teacherQuery){
return request({
//url: '/table/list/'+current+'/'+limit,
url: `/eduservice/teacher/pageTeacherCondition/${current}/${limit}`,
method: 'post',
//条件的对象,后端使用RequestBody获取属性
//data表示把对象转换json进行传递到接口
data: teacherQuery
})
},
//删除讲师
removeDataById(id){
return request({
url: `/eduservice/teacher/${id}`,
method: 'delete'
})
},
addTeacher(teacher){
return request({
url: `/eduservice/teacher/addTeacher`,
method: 'post',
data:teacher
})
},
getTeacherInfo(id){
return request({
url: `/eduservice/teacher/getTeacherById/${id}`,
method: 'get'
})
},
updateTeacher(teacher){
return request({
url: `/eduservice/teacher/updateTeacher`,
method: 'post',
data:teacher
})
}
}
// export function getList(params) {
// return request({
// url: '/table/list',
// method: 'get',
// params
// })
// }
后端接收一
package com.stu.eduservice.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.stu.commonutils.ResultData;
import com.stu.eduservice.entity.EduTeacher;
import com.stu.eduservice.entity.vo.TeacherQuery;
import com.stu.eduservice.service.IEduTeacherService;
import com.stu.servicebase.exceptionHandler.GuliException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.http.HttpResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
* 讲师 前端控制器
* </p>
*
* @author stu
* @since 2021-04-10
*/
@Api(description="讲师管理")
@RestController
@RequestMapping("/eduservice/teacher")
@CrossOrigin //解决跨域
public class EduTeacherController {
@Autowired
private IEduTeacherService eduTeacherService;
//http://localhost:8001/eduservice/teacher/findAll
//1查询所有讲师数据 rest风格
@ApiOperation(value = "所有讲师列表")
@GetMapping("findAll")
ResultData findAll(){
List<EduTeacher> list = eduTeacherService.list(null);
// try {
// int a = 10/0;
// } catch (Exception e) {
// //执行自定义异常
// throw new GuliException(200001,"执行自定义异常");
// }
list.forEach(i-> System.out.println(i.getName()));
return ResultData.success().data("list",list);
}
//逻辑删除讲师方法
@ApiOperation(value = "根据ID删除讲师")
@DeleteMapping("{id}")
ResultData delete(@ApiParam(name = "id", value = "讲师ID", required = true)
@PathVariable String id) {
boolean flag = eduTeacherService.removeById(id);
if (flag) {
return ResultData.success();
} else {
return ResultData.error();
}
}
@GetMapping("pageTeacher/{current}/{limit}")
public ResultData pageTeacher(@PathVariable long current,
@PathVariable long limit){
Page<EduTeacher> page = new Page<EduTeacher>(current,limit);
eduTeacherService.page(page,null);
long total = page.getTotal();
List<EduTeacher> list = page.getRecords();
Map<String,Object> map = new HashMap<String,Object>();
map.put("total",total);
map.put("list",list);
//return ResultData.success().data(map);
return ResultData.success().data("total",total).data("list",list);
}
//条件查询,分页
@PostMapping("pageTeacherCondition/{current}/{limit}")
public ResultData pageTeacherCondition(@PathVariable long current,
@PathVariable long limit,
@RequestBody(required = false) TeacherQuery teacherQuery ){
QueryWrapper wrapper = new QueryWrapper();
String name = teacherQuery.getName();
Integer level = teacherQuery.getLevel();
String begin = teacherQuery.getBegin();
String end = teacherQuery.getEnd();
if (!StringUtils.isEmpty(name)) {
wrapper.like("name", name);
}
if (!StringUtils.isEmpty(level) ) {
wrapper.eq("level", level);
}
if (!StringUtils.isEmpty(begin)) {
wrapper.ge("gmt_create", begin);
}
if (!StringUtils.isEmpty(end)) {
wrapper.le("gmt_create", end);
}
Page<EduTeacher> page = new Page<EduTeacher>(current,limit);
eduTeacherService.page(page,wrapper);
Map<String,Object> map = new HashMap<String,Object>();
long total = page.getTotal();
List<EduTeacher> list = page.getRecords();
map.put("total",total);
map.put("list",list);
return ResultData.success().data(map);
}
//添加讲师
@PostMapping("addTeacher")
public ResultData addTeacher(@RequestBody EduTeacher eduTeacher){
boolean flag = eduTeacherService.save(eduTeacher);
if(flag){
return ResultData.success();
}else {
return ResultData.error();
}
}
@ApiOperation(value = "根据ID查询讲师")
@GetMapping("getTeacherById/{id}")
public ResultData getTeacherById(
@ApiParam(name = "id", value = "讲师ID", required = true)
@PathVariable String id){
EduTeacher teacher = eduTeacherService.getById(id);
return ResultData.success().data("teacher", teacher);
}
// @ApiOperation(value = "根据ID修改讲师")
// @PutMapping("{id}")
// public ResultData updateById(
// @ApiParam(name = "id", value = "讲师ID", required = true)
// @PathVariable String id,
//
// @ApiParam(name = "teacher", value = "讲师对象", required = true)
// @RequestBody EduTeacher teacher){
//
// teacher.setId(id);
// eduTeacherService.updateById(teacher);
// return ResultData.success();
// }
@ApiOperation(value = "修改讲师")
@PostMapping("updateTeacher")
public ResultData updateTeacher(@RequestBody EduTeacher teacher){
boolean flag = eduTeacherService.updateById(teacher);
if(flag){
return ResultData.success();
}else{
return ResultData.error();
}
}
}
前端请求方式二
import request from '@/utils/request'
export default {
//根据课程id查询小节和小节
getVideoInfo(videoId){
return request({
url: '/eduservice/video/getVideoInfo/'+videoId,
method: 'get'
})
},
//添加小节
addVideo(eduVideo){
return request({
url: '/eduservice/video/addVideo',
method: 'post',
data:eduVideo
})
},
//修改小节
updateVideo(eduVideo){
return request({
url: '/eduservice/video/updateVideo',
method: 'post',
data:eduVideo
})
},
//删除小节
deleteVideo(videoId){
return request({
url: '/eduservice/video/'+videoId,
method: 'delete'
})
},
//删除视频
removeVideo(id){
return request({
url: '/eduvod/video/removeVideo/'+id,
method: 'delete'
})
},
}
后端接收二
package com.stu.eduservice.controller;
import com.stu.commonutils.ResultData;
import com.stu.eduservice.entity.EduVideo;
import com.stu.eduservice.service.IEduVideoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 课程视频 前端控制器
* </p>
*
* @author stu
* @since 2021-05-29
*/
@RestController
@RequestMapping("/eduservice/video")
@CrossOrigin
public class EduVideoController {
@Autowired
private IEduVideoService eduVideoService;
//添加小节
@PostMapping("addVideo")
public ResultData addVideo(@RequestBody EduVideo eduVideo){
eduVideoService.save(eduVideo);
return ResultData.success();
}
//修改小节
@PostMapping("updateVideo")
public ResultData updateVideo(@RequestBody EduVideo eduVideo){
eduVideoService.updateById(eduVideo);
return ResultData.success();
}
//删除小节
@DeleteMapping("{id}")
public ResultData deleteVideo(@PathVariable String id){
eduVideoService.removeById(id);
return ResultData.success();
}
//查询小节
@GetMapping("getVideoInfo/{videoId}")
public ResultData getVideoInfo(@PathVariable String videoId){
EduVideo video = eduVideoService.getById(videoId);
return ResultData.success().data("video",video);
}
}