本项目主要实现登陆注册,以及查询的接口


前言

本项目主要使用SpringBoot整合MyBatis-Plus来进行开发,采用Restful开发风格,并整合swagger2,本项目比较简单,只是简单实现了登陆注册以及几个查询的接口,代码简洁精炼,对数据返回体也进行了封装,添加了基本是用到的拦截器,配置了常用的异常处理类。


一、postman测试

1.注册测试

 当我们注册成功后,再次点击注册时,会提示用户名已存在

2.登录测试

3.查询测试

 查询全部

按类别查询

 


二、主要代码详情

1.服务层代码

package com.example.demo.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.controller.Result;
import com.example.demo.dao.UserDao;
import com.example.demo.domin.User;
import com.example.demo.service.UserService;
import com.example.demo.utils.Createtoken;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    UserDao userDao;

    @Override
    public Result login(String username, String password) {
        User user1 = userDao.selectOne(new QueryWrapper<User>().eq("username",username)
                .eq("password",password));
        if (user1 != null){
            String token = Createtoken.getToken(user1);
            user1.setToken(token);
            userDao.updateById(user1);
            return new Result(200,user1,"登陆成功!");
        }else {
            return new Result(200,null,"用户名或密码错误!");
        }
    }

    @Override
    public Result register(String username, String password) {
        User user1 = userDao.selectOne(new QueryWrapper<User>().eq("username",username));
        if (user1 == null){
            User user = new User(username,password);
            int i = userDao.insert(user);
            if (i == 1){
                return new Result(200,user,"注册成功!");
            }else {
                return new Result(400,user,"注册失败,请检查网络!");
            }
        }else {
            return new Result(500,null,"用户名已经存在");
        }
    }

    //测试
    @Override
    public Result test(String token) {
        User user = userDao.selectOne(new QueryWrapper<User>().eq("token",token));
        if (user != null){
            return new Result(200,null,"访问成功!");
        }else {
            return new Result(500,null,"您没有权限");
        }
    }
}
package com.example.demo.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.controller.Result;
import com.example.demo.dao.ImageDao;
import com.example.demo.dao.UserDao;
import com.example.demo.domin.Image;
import com.example.demo.domin.User;
import com.example.demo.service.ImageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class ImageServiceImpl implements ImageService {
    @Autowired
    ImageDao imageDao;

    @Autowired
    UserDao userDao;

    @Override
    public Result getImage(String token) {
        User user = userDao.selectOne(new QueryWrapper<User>().eq("token", token));
        if (user != null){
            List<Image> images = imageDao.selectList(null);
            return new Result(200,images,"查询成功!");
        }else {
            return new Result(400,null,"您没有相关权限!");
        }
    }


    @Override
    public Result getImageByKind(String token,int kinds) {
        User user = userDao.selectOne(new QueryWrapper<User>().eq("token", token));
        if (user != null){
//            List<Image> images = imageDao.selectList(new QueryWrapper<Image>().eq("kinds", kinds));
//            return new Result(200,images,"查询成功!");
            List<Image> kinds2 = imageDao.selectList(new QueryWrapper<Image>().eq("kinds", kinds));
            if (!kinds2.isEmpty()){
                return new Result(200,kinds2,"查询成功!");
            }else {
                return new Result(200,null,"暂无该种类数据!");
            }
        }else {
            return new Result(400,null,"您没有相关权限!");
        }
    }
}

2.表现层代码

package com.example.demo.controller;

import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    UserService userService;

    //登录接口
    @PostMapping
    public Result login(@RequestParam String username,@RequestParam String password){
        return userService.login(username,password);
    }

    //注册接口
    @PutMapping
    public Result register(@RequestParam String username,@RequestParam String password){
        return userService.register(username,password);
    }

    //测试token接口
    @GetMapping
    public Result test(@RequestParam String token){
        return userService.test(token);
    }
}
package com.example.demo.controller;


import com.example.demo.service.ImageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/image")
public class ImageController {
    @Autowired
    ImageService imageService;

    //查询全部图片列表接口
    @GetMapping
    public Result getImage(@RequestParam String token){
        return imageService.getImage(token);
    }

    //按种类进行查询图片
    @PostMapping
    public Result getImageById(@RequestParam String token,@RequestParam int kinds){
        return imageService.getImageByKind(token,kinds);
    }

}

总结

后端代码比较简单,在这里就不详细介绍了,有需要源码的请自行下载,源码已上传,地址:本项目主要使用SpringBoot整合MyBatis-Plus来进行开发-Java文档类资源-CSDN下载

源码免费,免费的!!!可以直接下载,如果你觉得能够帮助你的话,点个赞!!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐