[SpringMVC] 传参
传参
get提交
一般使用@GetMapping
在传参的时候,最多只能有一个@RequestBody将参数封装成对象
其他都必须用@RequestParam去接受基本数据类型的参数
对于时间,可以使用spring对参数拦截修改的注解对时间进行封装为对象,否则直接用Date作为参数是错误的。
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime
经典示例:
@GetMapping("/selectContracts")
public JsonResult selectContracts(@RequestBody(required = false) PageResult<Contract> pageResult,
@RequestParam(required = false) String jiaFang,
@RequestParam(required = false) String contractNo,
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
但是如果这样写,在一些api工具中就无法正常调试,因为这对于前端来说不是寻常的写法
比如:YApi就不支持这种写法,应该会在后续的更新中支持这个,现在时间2019-08-12
postman支持get中写body的方法
对于没有进行改造的SpringMVC,则仍使用恶心的基本数据类型的传参方式。
@GetMapping("/selectContracts")
public JsonResult selectContracts(
@RequestParam(required = false) int pageNum,
@RequestParam(required = false) int pageSize,
@RequestParam(required = false) String jiaFang,
@RequestParam(required = false) String contractNo,
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
本作品采用《CC 协议》,转载必须注明作者和本文链接