ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

注册——控制层

2022-03-07 21:02:26  阅读:140  来源: 互联网

标签:控制 JsonResult cy result 注册 import com public


5.控制层

5.1json数据返回状态
package com.cy.store.utils;

import java.io.Serializable;

public class JsonResult<E> implements Serializable {

   private Integer state;

   private String message;

   private E data;

   public JsonResult(Integer state, E data) {
       this.state = state;
       this.data = data;
  }

   public JsonResult(Throwable e) {
       this.message = e.getMessage();
  }

   public JsonResult(Integer state) {
       this.state = state;
  }

   public JsonResult() {
  }

   public Integer getState() {
       return state;
  }

   public void setState(Integer state) {
       this.state = state;
  }

   public String getMessage() {
       return message;
  }

   public void setMessage(String message) {
       this.message = message;
  }

   public E getData() {
       return data;
  }

   public void setData(E data) {
       this.data = data;
  }
}
5.2UserController
package com.cy.store.controller;


import com.cy.store.entity.User;
import com.cy.store.service.IUserService;
import com.cy.store.service.ex.InsertException;
import com.cy.store.service.ex.UsernameDeplicatedException;
import com.cy.store.utils.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//@Controller
@RestController
@RequestMapping("users")
public class UserController extends BaseController{


   @Autowired
   private IUserService iUserService;

   @RequestMapping("reg")
   public JsonResult<Void> reg(User user)
  {
       iUserService.reg(user);
       return new JsonResult<>(OK);
  }

   /*@RequestMapping("reg")
   public JsonResult<Void> reg(User user)
   {
       JsonResult<Void> result = new JsonResult<>();

       try {
           iUserService.reg(user);
           result.setState(200);
           result.setMessage("注册成功");
       } catch (UsernameDeplicatedException e) {
           result.setState(4000);
           result.setMessage("用户名占用");
       }
       catch (InsertException e)
       {
           result.setState(5000);
           result.setMessage("未知异常");
       }
       return result;
   }*/

}
5.3BaseController
package com.cy.store.controller;

import com.cy.store.service.ex.InsertException;
import com.cy.store.service.ex.ServiceExcepiton;
import com.cy.store.service.ex.UsernameDeplicatedException;
import com.cy.store.utils.JsonResult;
import org.springframework.web.bind.annotation.ExceptionHandler;

public class BaseController {
   public static final int OK = 200;

   @ExceptionHandler(ServiceExcepiton.class) //用于统一处理抛出的异常
   public JsonResult<Void> handle(Throwable e)
  {
       JsonResult<Void> result = new JsonResult<>();

       if(e instanceof UsernameDeplicatedException)
      {
           result.setState(4000);
           result.setMessage("用户名已经占用");
      }
       else if (e instanceof InsertException)
      {
           result.setState(5000);
           result.setMessage("注册时候产生未知异常");
      }
       return result;
  }

}

 

标签:控制,JsonResult,cy,result,注册,import,com,public
来源: https://www.cnblogs.com/shuangshuangzi/p/15977931.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有