springboot+vue+mybatisplus项目实战-学生成绩管理系统10

661 篇文章 3 订阅
112 篇文章 0 订阅

req

loginReq.java

package com.shrimpking.req;

import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Shrimpking
 * @create 2023/11/4 16:51
 * 登录请求的
 */
@Data
public class LoginReq
{
    /**
     * 验证不为空
     */
    @NotBlank
    private String userName;

    /**
     * 验证不为空
     */
    @NotBlank
    private String pwd;

}

req

searchReq.java

package com.shrimpking.req;

import com.shrimpking.constants.MyConstants;
import lombok.Data;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Shrimpking
 * @create 2023/11/6 20:31
 * 自定义搜索的封装类
 */
@Data
public class SearchReq
{
    /**
     * 当前页
     */
    private Long currentPage;
    /**
     * 页条数
     */
    private Long pageSize;
    /**
     * 搜索关键词
     */
    private String searchWord;

    public SearchReq(){
        this.currentPage = MyConstants.DEFAULT_CURRENT_PAGE;
        this.pageSize = MyConstants.DEFAULT_PAGE_SIZE;
    }
}

res

result.java

package com.shrimpking.res;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.shrimpking.enums.CodeEnum;
import lombok.Data;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Shrimpking
 * @create 2023/11/4 18:17
 * 统一返回结果
 */
@Data
public class Result<T>
{
    /**
     * 状态码
     */
    private Integer code;
    /**
     * 响应消息
     */
    private String msg;
    /**
     * 是否成功,true成功,false失败
     */
    private Boolean ok;
    /**
     * 返回的数据
     */
    private T data;
    /**
     * 总条数
     */
    private Long total;

    /**
     * 默认构造函数
     */
    private Result(){
        this.code = CodeEnum.SUCCESS.getCode();
        this.msg = CodeEnum.SUCCESS.getMsg();
        this.ok = true;
        this.data = null;
        this.total = -1L;
    }

    /**
     * 成功
     * @param <T>
     * @return
     */
    public static<T> Result<T> success(){
        return new Result<>();
    }

    /**
     * 成功,返回数据
     * @param <T>
     * @return
     */
    public static<T> Result<T> success(T data){
        Result<T> result = success();
        result.setData(data);
        return result;
    }

    /**
     * 成功,返回消息
     * @param <T>
     * @return
     */
    public static<T> Result<T> success(String msg){
        Result<T> result = success();
        result.setMsg(msg);
        return result;
    }

    /**
     * 成功,返回数据和总条数
     * @param <T>
     * @return
     */
    public static<T> Result<T> success(T data,Long total){
        Result<T> result = success(data);
        result.setTotal(total);
        return result;
    }

    /**
     * 成功,返回消息和数据
     * @param <T>
     * @return
     */
    public static<T> Result<T> success(String msg,T data){
        Result<T> result = success(msg);
        result.setData(data);
        return result;
    }

    /**
     * 成功,返回消息,数据,总条数
     * @param <T>
     * @return
     */
    public static<T> Result<T> success(String msg,T data,Long total){
        Result<T> result = success(data,total);
        result.setMsg(msg);
        return result;
    }

    /**
     * 失败
     * @param <T>
     * @return
     */
    public static<T> Result<T> failure(){
        Result<T> result = new Result<>();
        result.setMsg(CodeEnum.ERROR.getMsg());
        result.setCode(CodeEnum.ERROR.getCode());
        result.setOk(false);
        result.setData(null);
        result.setTotal(-1L);
        return result;
    }

    /**
     * 失败,返回消息
     * @param <T>
     * @return
     */
    public static<T> Result<T> failure(String msg){
        Result<T> result = failure();
        result.setMsg(msg);
        return result;
    }

    /**
     * 失败,返回状态码和消息
     * @param <T>
     * @return
     */
    public static<T> Result<T> failure(Integer code,String msg){
        Result<T> result = failure(msg);
        result.setCode(code);
        return result;
    }

    /**
     * 失败,返回枚举型的
     * @param <T>
     * @return
     */
    public static<T> Result<T> failure(CodeEnum codeEnum){
        Result<T> result = failure();
        result.setCode(codeEnum.getCode());
        result.setMsg(codeEnum.getMsg());
        return result;
    }

    /**
     * 判断是否成功
     * @return
     */
    @JsonIgnore
    public Boolean isSuccess(){
        return this.ok;
    }

    /**
     * 是否失败
     * @return
     */
    @JsonIgnore
    public Boolean isFailed(){
        return !this.ok;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
springbootvue是现代web开发中最常用的后端和前端框架之一。前后端分离是一种架构模式,将前端和后端的开发分离,通过接口来进行数据传输和交互。 在线教育系统作为一个实战项目,可以基于springbootvue来开发。首先,我们可以使用springboot来构建后端的RESTful API,处理用户请求、数据持久化等功能。通过使用springboot的优秀特性,可以快速搭建项目的基础框架,并集成常用的开发组件,如Spring MVC、Spring Data JPA等。 而在前端方面,可以使用vue来开发用户界面。vue是一个轻量级的JavaScript框架,可以帮助我们构建交互式的用户界面。通过vue的组件化开发和数据绑定机制,可以提高前端开发效率,并实现良好的用户体验。 在实现前后端分离的时候,可以通过定义RESTful API接口来进行数据的传输和交互。后端使用springboot提供的@RestController注解来处理HTTP请求,并返回JSON格式的数据。前端通过vue的axios库来进行异步请求和交互,获取后端提供的数据并展示在页面上。 在线教育系统常见的功能包括用户登录、课程管理、视频播放等。用户登录可以通过JWT来实现身份认证和授权。课程管理可以包括课程的发布、编辑、删除等功能,通过操作数据库来实现数据的增删改查。视频播放可以通过集成第三方视频播放器,如video.js来实现。 总结来说,使用springbootvue进行前后端分离的在线教育系统的实战项目,可以通过定义RESTful API接口、使用axios进行数据交互和展示、集成第三方插件实现各种功能。通过这种方式,可以提高项目的开发效率、降低耦合性,并实现良好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米大王

有你的支持,我会更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值