spring boot入门级创建登录接口

spring boot 工程实例

项目目录如下所示
在这里插入图片描述

  • util层,用来编写返回前端数据的模板
    • 比如Response.java
package com.zoo.hello.util;

public class Response {
    
    

    private int code;

    private String msg;

    private Object data;

    public Response(int code, String msg, Object data) {
    
    
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public int getCode() {
    
    
        return code;
    }

    public void setCode(int code) {
    
    
        this.code = code;
    }

    public String getMsg() {
    
    
        return msg;
    }

    public void setMsg(String msg) {
    
    
        this.msg = msg;
    }

    public Object getData() {
    
    
        return data;
    }

    public void setData(Object data) {
    
    
        this.data = data;
    }
}

  • Entity层,存放实体类
    • 比如User.java
package com.zoo.hello.Entity;

public class User {
    
    

    private String userid;

    private String pw;

    private String mpn;

    private String email;

    private String sysID;

    private int invitecode;

    public String getUserid() {
    
    
        return userid;
    }

    public void setUserid(String userid) {
    
    
        this.userid = userid;
    }

    public String getPw() {
    
    
        return pw;
    }

    public void setPw(String pw) {
    
    
        this.pw = pw;
    }

    public String getMpn() {
    
    
        return mpn;
    }

    public void setMpn(String mpn) {
    
    
        this.mpn = mpn;
    }

    public String getEmail() {
    
    
        return email;
    }

    public void setEmail(String email) {
    
    
        this.email = email;
    }

    public String getSysID() {
    
    
        return sysID;
    }

    public void setSysID(String sysID) {
    
    
        this.sysID = sysID;
    }

    public int getInvitecode() {
    
    
        return invitecode;
    }

    public void setInvitecode(int invitecode) {
    
    
        this.invitecode = invitecode;
    }
}

  • dao层,用来进行数据库方面的操作
    • 比如UserDAO.java
package com.zoo.hello.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public class UserDAO{
    
    
    @Autowired
    private JdbcTemplate jdbcTemplate;

    private final String FIND_USER_BY_NAME_AND_PWD = "SELECT * FROM user WHERE userid = ? AND pw =?";

    //登录
    public boolean findUserByNameAndPwd(String name, String pwd){
    
    
        List<Map<String,Object>> userList  = jdbcTemplate.queryForList(FIND_USER_BY_NAME_AND_PWD,new Object[]{
    
    name,pwd});
        if (userList!=null && userList.size()==1){
    
    
            return true;
        }else {
    
    
            return false;
        }
    }
 }
  • controller层,用来进行前后端数据交互
    • 比如UserController.java
package com.zoo.hello.controller;

import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import com.zoo.hello.dao.InviteCodeDAO;
import com.zoo.hello.dao.UserDAO;
import com.zoo.hello.util.Response;
import org.json.JSONException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.util.Random;


@CrossOrigin()//跨域
@RestController
@RequestMapping("/user")
public class UserController {
    
    

    @Autowired
    private UserDAO userDAO;

    //登录api
    @PostMapping("/login")
    public Object login(String name, String passwd){
    
    
        if (StringUtils.isEmpty(name) == false
            && StringUtils.isEmpty(passwd) == false){
    
    
            boolean flag = userDAO.findUserByNameAndPwd(name,passwd);
            if (flag){
    
    
                //todo: 登录之后的动作
                return new Response(0,"ok","");
            }else {
    
    
                return new Response(-1,"用户名或密码错误","");
            }
        }
        else {
    
    
           return new Response(-2,"参数错误","");
        }
    }
 }
到这里登录接口就已经实现了,各位小伙伴们,有什么意见或者疑问都可以找我,由于工作原因,源码就不发了,请多多谅解。

猜你喜欢

转载自blog.csdn.net/qq_40731976/article/details/98493495