You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

96 regels
2.2 KiB

package com.wyz.demo.controller;
import com.wyz.demo.dto.UserDTO;
import com.wyz.demo.service.UserService;
import com.wyz.demo.vo.Message;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
public UserService userService;
@GetMapping("/hello")
public String simpleString(){
return "<h2>/hello</h2><br>";
}
/**
* 用户注册
*
* 情况1: 用户名已经被注册了
* 情况2: 正常注册
*
* @return
*/
@PostMapping(value = "/register")
public Message register(@RequestBody UserDTO u, HttpServletResponse resp, HttpSession sess){
log.info("this is userDTO: {}",u);
Message msg = userService.addUser(u,resp,sess);
return msg;
}
/**
* 用户登录: 需要返回
*
* 情况1: 用户名不存在
* 情况2: 用户名存在, 但是密码错误
* 情况3: 正确登录, 并注册一个session
*
* @param u
*/
@PostMapping(value = "/login")
public Message login(@RequestBody UserDTO u, HttpServletResponse resp, HttpSession sess){
log.info("this is userDTO: {}",u);
Message msg = userService.checkUser(u, resp, sess);
return msg;
}
/**
* 添加用户: 前端发个请求看看用户是否登录
*
* 情况1: 没有登录
* 情况2: 已经登录
*
* @return
*/
@RequestMapping(value = "/check")
public Message check(HttpSession sess){
Message msg = userService.checkStatus(sess);
return msg;
}
/**
* 添加用户: 前端发个请求注销
*
* 情况1:
*
* @return
*/
@RequestMapping(value = "/logout")
public void logout(HttpSession sess){
log.info("用户:{} 已经注销",sess.getAttribute("username"));
sess.invalidate();
}
}