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)

 

想看更多精彩內容,可以關注我的CSDN

我的CSDN


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM