前言
其实这个接口也没有太多的内容,不过就是常规的接口,考虑到用的比较多,所以还是记录一下。
枚举类
package com.fanhf.javastudy.enumTest;
import org.apache.commons.lang3.StringUtils;
/**
* @author fanhf
* @Description 年龄枚举类
* @date 2020-12-28 10:55
*/
public enum AgeEnum {
YOUNG(1, "16~25"),
MID(2,"26~35"),
MID_OLD(3,"36~55"),
OLD(4,"56 以上"),
;
private Integer code;
private String name;
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
AgeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public static String getAgeNameByCode(Integer code){
if (code == null || StringUtils.isEmpty(code.toString())) {
return null;
}
for (AgeEnum ageEnum: AgeEnum.values()) {
if (code.equals(ageEnum.getCode())) {
return ageEnum.getName();
}
}
return null;
}
public static Integer getAgeNameCode(String name){
if (StringUtils.isBlank(name)) {
return null;
}
for (AgeEnum ageEnum: AgeEnum.values()) {
if (name.equals(ageEnum.getName())) {
return ageEnum.getCode();
}
}
return null;
}
}
统一枚举值
package com.fanhf.javastudy.enumTest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
/**
* @author fanhf
* @Description 统一枚举值
* @date 2020-12-28 10:59
*/
@ApiModel(value = "静态数据")
@Data
@Builder
public class EnumInfo implements ResultBean {
@ApiModelProperty(value = "key")
private Integer code;
@ApiModelProperty(value = "name")
private String name;
}
结果bean
package com.fanhf.javastudy.enumTest;
/**
* @author fanhf
* @Description 结果bean
* @date 2020-12-28 11:00
*/
public interface ResultBean {
}
结果集
package com.fanhf.javastudy.enumTest;
import com.alibaba.fastjson.JSONObject;
import com.fanhf.javastudy.utils.ObjectMapperUtils;
import java.io.Serializable;
import java.util.List;
/**
* @author fanhf
* @Description 结果集
* @date 2020-12-28 11:03
*/
public class ResultData<T extends ResultBean> implements Serializable {
private static final long serialVersionUID = -5809782578272943999L;
public static final String CODE_SUCCESS = "200";
public static final String CODE_FAIL = "500";
private String code;
private String message;
private T object;
private List<T> list;
public ResultData() {
this.code = "200";
this.message = "";
}
public ResultData(String code) {
this(code, (String)null);
}
public ResultData(String code, String message) {
this(code, message, null);
}
public ResultData(String code, String message, T object) {
this.code = "200";
this.message = "";
this.code = code;
this.message = message;
this.object = object;
}
public String getCode() {
return this.code;
}
public ResultData<T> setCode(String code) {
this.code = code;
return this;
}
public String getMessage() {
return this.message;
}
public ResultData<T> setMessage(String message) {
this.message = message;
return this;
}
public T getObject() {
return this.object;
}
public ResultData<T> setObject(T object) {
this.object = object;
return this;
}
public ResultData<T> setObject(JSONObject data, Class<T> t) {
try {
this.object = (T) ObjectMapperUtils.json2object(data, t);
return this;
} catch (Exception var4) {
throw new RuntimeException(var4);
}
}
public List<T> getList() {
return this.list;
}
public ResultData<T> setList(List<T> list) {
this.list = list;
return this;
}
public ResultData<T> setList(List<JSONObject> rows, Class<T> t) {
try {
this.list = ObjectMapperUtils.json2objects(rows, t);
return this;
} catch (Exception var4) {
throw new RuntimeException(var4);
}
}
}
静态数据-枚举类接口Controller
package com.fanhf.javastudy.mybatistest.controller;
import com.fanhf.javastudy.enumTest.AgeEnum;
import com.fanhf.javastudy.enumTest.EnumInfo;
import com.fanhf.javastudy.enumTest.ResultData;
import com.google.common.collect.Lists;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
/**
* @author fanhf
* @Description 枚举接口
* @date 2020-12-28 10:58
*/
@RestController
@RequestMapping("/enums")
@Api(tags = "静态数据-枚举类")
@Slf4j
public class EnumInfoController {
private static List<EnumInfo> ageList = Lists.newArrayList();
static {
ageList = ageEnumInit();
}
@ApiOperation("年龄")
@PostMapping(value = "/getJobAgeList")
public ResultData getJobAgeList() {
return new ResultData().setList(ageList);
}
public static List<EnumInfo> ageEnumInit(){
AgeEnum[] values = AgeEnum.values();
Arrays.stream(values).forEach(ageEnum -> {
EnumInfo enumInfo = EnumInfo.builder()
.code(ageEnum.getCode())
.name(ageEnum.getName())
.build();
ageList.add(enumInfo);
});
return ageList;
}
}
其中应该需要用到lombok的插件:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
到这里就结束了。
-------------------与君共勉--------------------