java后台控制层接收复杂参数(对象集合,多个文件对象)

java后台控制层接收复杂参数(对象集合,多个文件对象)

1.接收集合对象

创建一个类,然后将要接收的对象集合作为一个属性就行,控制层加个@RequestBody
代码如下:
接收实体类

package cn.mindgd.dto;

import cn.mindgd.domain.Engineering;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.util.List;

/**
 * @author JiaXinMa
 * @description 工程 接收对象实体类
 * @date 2021/7/5
 */
@ApiModel("工程接收对象实体类")
@Data
public class EngineeringDto {
    private List<Engineering> engineeringList;
    private Integer siteId;
}

控制层:

/**
     * @author: JiaXinMa
     * @description: 新建工程
     * @date: 2021/6/30
     * 添加工程的基础信息
     */
    @ApiOperation(value = "新建工程,添加工程的基础信息", notes = "新建工程,添加工程的基础信息")
    @PutMapping("/addBase")
    public JsonData add(@RequestBody EngineeringDto engineeringDto) {
        log.info("/api/engineering/addBase:{}", engineeringDto);

        engineeringService.addBase(engineeringDto);
        return new JsonData(JsonEnum.SUCCESS_ADD);
    }

用 Knife4j 的调用接口:在这里插入图片描述
控制台效果:
在这里插入图片描述

2.多个文件对象

直接用数组接收就行,加个**@RequestParam**

/**
     *  @author: JiaXinMa
     *  @description: 上传施工文件
     *  @date:  2021/7/5
     */
    @ApiOperation(value = "上传施工文件", notes = "上传施工文件")
    @PostMapping("/addConstructionAnnex")
    public JsonData add(@RequestParam("file") MultipartFile[] files,
                        @RequestParam("constructionId") Integer constructionId) {
        log.info("/api/annex/addConstructionAnnex:{}", files, constructionId);

        String msg = annexService.addConstructionAnnex(files, constructionId);
        return new JsonData(null, 200, msg);
    }

Knife4j生成的文档传不了这种参数,用postman传参数
在这里插入图片描述
控制台效果:
在这里插入图片描述
确实生成了两个文件:在这里插入图片描述
3.接收时间字段 在时间字段加上@JsonFormat(pattern = “yyyy-MM-dd”)
4.如果是接收的字段可传可不传就这样@RequestParam(value = “参数”,required = false)

想看更多精彩内容,可以关注我的博客园
我的博客园

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值