实现登录,编写错误码,实现错误码返回json
This commit is contained in:
@@ -6,7 +6,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
@Controller
|
||||
public class LoginController {
|
||||
@@ -14,16 +13,16 @@ public class LoginController {
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@GetMapping("/index")
|
||||
@GetMapping(value = {"index",""})
|
||||
public String toLoginPage(){
|
||||
return "login";
|
||||
}
|
||||
|
||||
@PostMapping("/login/dologin")
|
||||
public boolean doLogin(TbUser tbUser){
|
||||
public String doLogin(TbUser tbUser)throws Exception{
|
||||
if (userService.doLoginService(tbUser.getColname(),tbUser.getColpassword())){
|
||||
return true;
|
||||
return "home";
|
||||
}
|
||||
return false;
|
||||
return "login";
|
||||
}
|
||||
}
|
||||
|
||||
34
src/main/java/com/fjy/spring/domain/Result.java
Normal file
34
src/main/java/com/fjy/spring/domain/Result.java
Normal file
@@ -0,0 +1,34 @@
|
||||
package com.fjy.spring.domain;
|
||||
|
||||
/**
|
||||
* Http请求返回的最外层对象
|
||||
*/
|
||||
public class Result<T> {
|
||||
private Integer code;
|
||||
private String message;
|
||||
private T data;
|
||||
|
||||
public Integer getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(Integer code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public T getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(T data) {
|
||||
this.data = data;
|
||||
}
|
||||
}
|
||||
28
src/main/java/com/fjy/spring/enums/ResultEnum.java
Normal file
28
src/main/java/com/fjy/spring/enums/ResultEnum.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.fjy.spring.enums;
|
||||
|
||||
public enum ResultEnum {
|
||||
UNKOWN_ERROR(-1,"未知错误"),
|
||||
SUCCESS(0,"请求成功"),
|
||||
USER_NOTEXIST(101,"用户不存在"),
|
||||
UPDATE_ERROR(102,"更新失败"),
|
||||
DELETE_ERROR(103,"删除失败"),
|
||||
ADD_ERROR(104,"添加失败"),
|
||||
WRONGPASS(105,"用户名或密码错误"),
|
||||
ILLEGAL_ACCESS(106,"非法访问")
|
||||
;
|
||||
private Integer code;
|
||||
private String msg;
|
||||
|
||||
public Integer getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
ResultEnum(Integer code, String msg) {
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
}
|
||||
}
|
||||
17
src/main/java/com/fjy/spring/exception/UserException.java
Normal file
17
src/main/java/com/fjy/spring/exception/UserException.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package com.fjy.spring.exception;
|
||||
|
||||
import com.fjy.spring.enums.ResultEnum;
|
||||
|
||||
public class UserException extends RuntimeException{
|
||||
|
||||
private Integer code;
|
||||
|
||||
public UserException(ResultEnum resultEnum) {
|
||||
super(resultEnum.getMsg());
|
||||
this.code = resultEnum.getCode();
|
||||
}
|
||||
|
||||
public Integer getCode() {
|
||||
return code;
|
||||
}
|
||||
}
|
||||
28
src/main/java/com/fjy/spring/handle/ExceptionHandle.java
Normal file
28
src/main/java/com/fjy/spring/handle/ExceptionHandle.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package com.fjy.spring.handle;
|
||||
|
||||
import com.fjy.spring.domain.Result;
|
||||
import com.fjy.spring.enums.ResultEnum;
|
||||
import com.fjy.spring.exception.UserException;
|
||||
import com.fjy.spring.untils.ResultUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
@ControllerAdvice
|
||||
public class ExceptionHandle {
|
||||
private final static Logger logger = LoggerFactory.getLogger(ExceptionHandle.class);
|
||||
|
||||
@ExceptionHandler(value = Exception.class)
|
||||
@ResponseBody
|
||||
public Result handle(Exception e){
|
||||
if (e instanceof UserException){
|
||||
UserException userException = (UserException)e;
|
||||
return ResultUtil.error(userException.getCode(),userException.getMessage());
|
||||
}else{
|
||||
logger.error("系统异常",e);
|
||||
return ResultUtil.error(ResultEnum.UNKOWN_ERROR.getCode(),ResultEnum.UNKOWN_ERROR.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.fjy.spring.service;
|
||||
|
||||
import com.fjy.spring.domain.TbUser;
|
||||
import com.fjy.spring.enums.ResultEnum;
|
||||
import com.fjy.spring.exception.UserException;
|
||||
import com.fjy.spring.repository.TbUserRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -17,6 +19,6 @@ public class UserService {
|
||||
if (password.equals(user.getColpassword())){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
throw new UserException(ResultEnum.USER_NOTEXIST);
|
||||
}
|
||||
}
|
||||
|
||||
12
src/main/java/com/fjy/spring/untils/ResultUtil.java
Normal file
12
src/main/java/com/fjy/spring/untils/ResultUtil.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.fjy.spring.untils;
|
||||
|
||||
import com.fjy.spring.domain.Result;
|
||||
|
||||
public class ResultUtil {
|
||||
public static Result error(Integer code,String msg){
|
||||
Result result = new Result();
|
||||
result.setCode(code);
|
||||
result.setMessage(msg);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user