ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

常见的问题系列---【@ApiOperationSupport忽略失效的问题】

2022-01-28 17:31:49  阅读:384  来源: 互联网

标签:uptModel param --- value ApiOperationSupport sysDict 失效 id


1.问题

knife4j提供了一个@ApiOperationSupport(ignoreParameters = {"sysDict.id,sysDict.status"})注解,可以在新增时忽略掉一些无关的字段。可是我在用的时候,犯了一个低级错误,排查了半天。

2.问题复现

错误代码:

@ApiOperation(value = "添加")
    @ApiOperationSupport(ignoreParameters = {"sysDict.id,sysDict.status"})
    @PostMapping("/add")
    public R<Boolean> insert(@RequestBody SysDict sysDict) {
        return success(this.sysDictService.save(sysDict));
    }

正确代码:注意紫色部分,一定是一个字段一对引号。

@ApiOperation(value = "添加")
    @ApiOperationSupport(ignoreParameters = {"sysDict.id","sysDict.status"})
    @PostMapping("/add")
    public R<Boolean> insert(@RequestBody SysDict sysDict) {
        return success(this.sysDictService.save(sysDict));
    }

扩展:

1. 一级参数

@ApiOperation(value = "新增Model接口1")
@ApiOperationSupport(ignoreParameters = {"id","orderDate.id"})
@PostMapping("/insertMode1l")
public Rest<UptModel> insertModel1(UptModel uptModel){
    Rest<UptModel> r =new Rest<>();
    r.setData(uptModel);
    return r;
}

UptModel.java

public class UptModel {

    @ApiModelProperty(value = "主键id")
    private String id;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "订单信息")
    private OrderDate orderDate;
}

2. JSON参数

@ApiOperation(value = "新增Model接口")
@ApiOperationSupport(ignoreParameters = {"uptModel.id","uptModel.name","uptModel.orderDate.id"})
@PostMapping("/insertModel")
public Rest<UptModel> insertModel(@RequestBody UptModel uptModel){
    Rest<UptModel> r =new Rest<>();
    r.setData(uptModel);
    return r;
}

3.json对象套数组

   @PostMapping("/saveHead")
    @ApiOperationSupport(order = 3, ignoreParameters = {"param.id", "param.taxOrgName", "param.applyUserName", "param.deptName", "param.projectName", "param.invTypeName", "param.payStatusName", "param.invStatus", "param.invStatusName", "param.reconcile", "param.reconcileName", "param.bookkeeping", "param.bookkeepingName",
        "param.invCompanyCode", "param.invCompanyName", "param.invCompanyAddress", "param.invCompanyTaxSubjectNum", "param.custName", "param.custTaxNum", "param.custAddress", "param.businessFieldVoList[0].id", "param.businessFieldVoList[0].goodsName",
        "param.businessFieldVoList[0].status", "param.businessFieldVoList[0].statusName", "param.businessFieldVoList[0].reconcileName"
    })
    @ApiOperation(value = "新增表头表体", notes = "新增表头表体")
    public R saveHead(@Valid @RequestBody BusinessVo param) {
        //1:OA新增  2:系统新增
        param.setSource(2);
        return businessService.saveHead(param);
    }

 

标签:uptModel,param,---,value,ApiOperationSupport,sysDict,失效,id
来源: https://www.cnblogs.com/hujunwei/p/15853307.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有