查询枚举类型的示例接口

@RestController
public class EnumTableController {

    private HashMap unflat(Object[] list) {
        HashMap<String, Object> ret = new HashMap<>();
        for (int i = 0 ; i < list.length; i += 2) { // 每次步进2,装载key-value
            ret.put((String)list[i], list[i + 1]);
        }
        return ret;
    }

    @ApiOperation(value = "查询全部枚举类型", notes = "")
    @GetMapping("/public/enum/table")
    public Map listEnumTable() {
        HashMap<String, Object> ret = new HashMap<>();  //拼接成HashMap<String,List<Map>>
        ret.put("RepositoryFeature", Arrays.stream(Constants.RepositoryFeature.values())
                .map(x -> unflat(new Object[]{"name", x.name(), "code", x.getCode(), "desc", x.getName()})));
        ret.put("UserTitleEnum", Arrays.stream(Constants.UserTitleEnum.values())
                .map(x -> unflat(new Object[]{"name", x.name(), "desc", x.getDesc()})));
        ret.put("VisitType", Arrays.stream(Constants.VisitType.values())
                .map(x -> unflat(new Object[]{"name", x.name(), "desc", x.getDesc()})));
        ret.put("AdminLogType", Arrays.stream(Constants.AdminLogType.values())
                .map(x -> unflat(new Object[]{"name", x.name(), "desc", x.getDesc()})));
        ret.put("RepoStatus", Arrays.stream(Constants.RepoStatus.values())
                .map(x -> unflat(new Object[]{"name", x.name(), "desc", x.getDesc()})));
        return ret;
    }

}
posted @ 2019-08-02 15:39  brx_blog  阅读(594)  评论(0)    收藏  举报