上路抗压,野爹常来

springboot响应格式Resullt封装

package com.example.demo.unity;

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.example.demo.dao.Admin;
import org.slf4j.LoggerFactory;

import javax.xml.transform.Result;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

public class Base implements Serializable {

  @SuppressWarnings("unused")
  private static final org.slf4j.Logger log = LoggerFactory.getLogger(Result.class);

  private static final long serialVersionUID = -1802122468331526708L;
  private int code = 200;
  private String msg = "待处理";
  private Map<String, Object> data = new HashMap<String, Object>();

  public Base(){}

  public Base(int code, String msg){
    this.code = code;
    this.msg = msg;
  }

  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 Map<String, Object> getData() {
    return data;
  }

  public void setData(Map<String, Object> data) {
    this.data = data;
  }

  public void putData(String key, Object value) {
    data.put(key, value);
  }

  public void removeData(String key) {
    data.remove(key);
  }

  @Override
  public String toString() {
    return "Result{" +
      "code=" + code +
      ", msg='" + msg + '\'' +
      ", data=" + data +
    '}';
  }

  /**
  * 生成token
  * @param admin Object
  * @return String
  */
  public String getToken(Admin admin){
    String token = "";
    //JWT.create()创建token withAudience保存在token中的信息 Algorithm.HMAC256()使用HS256生成token,密钥是用户密码
    token = JWT.create().withAudience(admin.getId()).sign(Algorithm.HMAC256(admin.getPassword()));
    return token;
  }
}

 

使用

public ResponseEntity<Base> login(@RequestBody Map<String,String> person){
  Base res = new Base(200,"ok");
  String name = person.get("name");
  String password = person.get("password");
  Admin admin = adminMapper.getAdminByName(name);
  String adminPassword = admin.getPassword();
  if (admin != null){
    if (password.equals(adminPassword)){
      res.putData("name",admin.getName());
      res.putData("id",admin.getId());
    }else{
      res.setStatus(500);
      res.setMessage("密码错误!");
    }
  }else{
    res.setStatus(500);
    res.setMessage("用户不存在!");
  }
  return ResponseEntity.ok(res);
}

posted @ 2021-02-21 09:52  上路抗压  阅读(260)  评论(0编辑  收藏  举报