1. Controller接收Date类型的数据

核心使用@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 来将传递过来的时间字符串转化为Date类型

@RestController
@RequestMapping("res")
public class BaseFlowController extends BaseController { private static final Logger log = LoggerFactory.getLogger(BaseFlowController.class); @Resource
protected FamaOrderMapper orderMapper; @Resource
private FamaUserMapper userMapper; @GetMapping("/query-all")
@ApiException(QUERY_FLOW_FAILED)
public Result query(@RequestParam(value = "beginTime", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date start,
@RequestParam(value = "endTime", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date end,
@RequestParam(value = "processInstanceId", required = false) Integer processInstanceId,
@RequestParam(value = "state", required = false) ApproveStatus state,
@RequestParam(value = "applyType", required = false) ApplyType applyType) {
Map<String, Object> data = Maps.newHashMap();
try {
LoginContext context = LoginContext.getLoginContext();
String user = context == null ? "xxxxxx" : context.getPin();
QueryWrapper<FamaUser> queryWrapper = Wrappers.query();
queryWrapper.eq("erp",user);
queryWrapper.eq("role_type", RoleType.SYS_ADMIN);
FamaUser admin = userMapper.selectOne(queryWrapper);
if (Optional.ofNullable(admin).isPresent()) {
user = "";
}
List<FamaOrder> orders = orderMapper.selectByParam(user, start, end, applyType, processInstanceId, state);
List<QueryResult> queryResults = ModuleHelper.mapAll(orders, QueryResult.class);
queryResults.sort((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime()));
data.put(Constants.DATA_LIST, queryResults);
data.put(Constants.STATUS, SUCCESS);
data.put(Constants.MSG, SUCCESS.getMsg());
} catch (Exception e) {
log.warn("create xbp order failed", e);
data.put(Constants.STATUS, QUERY_FLOW_FAILED);
data.put(Constants.MSG, QUERY_FLOW_FAILED.getMsg());
}
return returnDataList(data);
}
}

2.Controller 接收枚举类型数据

EnvType env,直接进行映射,不需要再别的操作

@GetMapping(value = "/query-details-instance-types-cost-times")
public Result queryDetailsInstanceTypesCostTimes(
@RequestParam("env") EnvType env,
@RequestParam("instanceId") String instanceId,
@RequestParam("regionId") String regionId) {
Map<String, Object> data;
try {
RdsContext context = RdsContext.builder().setEnvType(env).setRegionId(regionId).setInstanceId(instanceId).build();
RdsRegionGetter getter = RdsRegionGetter.newInstance(context);
data = getter.queryDetailsInstanceTypesCostTimes();
} catch (Exception e) {
logger.error("query-details-instance-types", e);
data = Maps.newHashMap();
}
return returnDataList(data);
}

Spring的controller接受Date类型数据,接受枚举类型数据的更多相关文章

  1. 2基本类型数组和枚举类型——重拾Java

    2.1 标识符和关键字 2.1.1标识符 标识符:用来标志类名.变量名.方法名.类型名.数组名.文件名的有效字符序列称为标识符.简单地说,标识符就是一个名字. Java关于标识符的语法规则 标识符由字 ...

  2. Go 自定义类型来实现枚举类型限制

    今天使用iota 发现一个问题.定义别名类型的时候 调用函数报错.废话不多说,我们看一段示例(关于iota的用法这里就不介绍了,手册介绍滴比较详细): package main import &quo ...

  3. DELPHI中枚举类型数据的介绍和使用方法

    在看delphi程序的时候看到aa=(a,b,c,d);这样的东西,还以为是数组,同事说是函数,呵呵,当然这两个都不屑一击,原来这样式子是在声明并付值一个枚举类型的数据.下边写下来DELPHI中枚举类 ...

  4. C#语言基础——结构体和枚举类型

    结构体和枚举类型 一.结构体(struct) 结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要 ...

  5. Delphi的枚举类型

    参考:http://blog.csdn.net/kissdeath/article/details/2060573 Delphi程序不仅可以用于数值处理,还更广泛的用于处理非数值的数据.例如:性别.月 ...

  6. 【转】掌握java枚举类型(enum type)

    原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...

  7. Java的枚举类型使用方法详解

    1.背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏 ...

  8. 0521Day03命名规范 Data函数 可变长参数 枚举类型

    [重点] 命名规范 枚举类型 Date函数 可变长参数 pirnt,println 命名规范 1. 驼峰命名法:main,username,setUsername 用于变量.方法的命名 2. Pasc ...

  9. golang枚举类型 - iota用法拾遗

    在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...

  10. java 枚举类型知识点记录

    在日常开发中,我们常用接口装常量或者在类里面写静态常量,java1.5以后加入了枚举类型enum.枚举类型是由一组固定的常量组成的类型.枚举本质是int值.因为枚举类型没有可以访问的构造器,所以枚举类 ...

随机推荐

  1. G - Number Transformation(BFS+素数)

    In this problem, you are given an integer number s. You can transform any integer number A to anothe ...

  2. CVE-2012-0003:Microsoft Windows Media Player winmm.dll MIDI 文件堆溢出漏洞调试分析

    0x01 蜘蛛漏洞攻击包 前言:2012 年 2月,地下黑产中流行着一款国产名为蜘蛛漏洞的攻击包 -- "Zhi-Zhu Exploit Pack",该工具包含 5 个漏洞,都是在 ...

  3. Cannot load driver class: com.mysql.jdbc.Driver

    mysql-connector-java提供了mysql驱动等类库,此处必须引入此依赖,否则将会提示: Cannot load driver class: com.mysql.jdbc.Driver等 ...

  4. XGBoost原理解析

    摘要:对xgboost论文中的细节进行记录. 算法原理 系统设计 基于column block的并行 树学习最耗时的部分通常是对数据进行排序,为了降低排序带来的计算负荷,xgb使用基于block的结构 ...

  5. Java解析xml文件遇到特殊符号&会出现异常的解决方案

    文/朱季谦 在一次Java解析xml文件的开发过程中,使用SAX解析时,出现了这样一个异常信息: Error on line 60 of document : 对实体 "xxx" ...

  6. Elasticsearch入门,看这一篇就够了

    目录 前言 可视化工具 kibana kibana 的安装 kibana 配置 kibana 的启动 Elasticsearch 入门操作 操作 index 创建 index 索引别名有什么用 删除索 ...

  7. MzzTxx——团队贡献分分配方案

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 团队贡献分分配规则制定 我在这个课程的目标是 进一步提升工程化开发能力,积累团队协作经验,熟悉全栈 ...

  8. Visual Lab Online —— 事后分析

    项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:事后分析 事后分析 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件使得编写简 ...

  9. 日常Bug排查-系统失去响应-Redis使用不当

    日常Bug排查-系统失去响应-Redis使用不当 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 开发反应线上系统出现失去响 ...

  10. 分布式锁为什么要选择Zookeeper而不是Redis?

    在分布式的应用中,为了防止单点故障,保障高可用,通常会采用主从结构,当主节点挂掉后,从节点可以代替主节点提供服务. Redis通过复制 + sentinel哨兵来实现主从模式. Zookeeper通过 ...