当前位置: 首页 > news >正文

设置asp.net core WebApi函数请求参数可空的两种方式

  以下面定义的asp.net core WebApi函数为例,客户端发送申请时,默认三个参数均为必填项,不填会报错,如下图所示:

[HttpGet]
public string GetSpecifyValue(string param1,string param2,string param3)
{return $"param1:{param1},param2:{param2},param3:{param3}";
}

在这里插入图片描述

  如果需要设置param3参数可为空,可以使用以下两种方式:
  1)在参数类型后添加?,标识参数为可空,示例代码及函数运行效果如下所示,:

[HttpGet]
public string GetSpecifyValue(string param1,string param2,string? param3)
{return $"param1:{param1},param2:{param2},param3:{param3}";
}

在这里插入图片描述

  2)将函数输入参数封装为类,通过请求体传参方式(要把请求方式从GET该为POST),示例代码及运行效果如下所示:

 public class InputParamsDemo{public string Param1 { get; set; }public string Param2 { get; set; }public string Param3 { get; set; } = string.Empty;//设置了默认值即可不需要强制传值}[HttpPost]public string GetSpecifyValue([FromBody] InputParamsDemo ip){return $"param1:{ip.Param1},param2:{ip.Param2},param3:{ip.Param3}";}

在这里插入图片描述

参考文献:
[1]https://blog.51cto.com/u_16213450/7475977

http://www.lryc.cn/news/331394.html

相关文章:

  • Vue.js组件精讲 开篇:Vue.js的精髓——组件
  • R语言中的常用数据结构
  • 基于Python的微博旅游情感分析、微博舆论可视化系统
  • 机器学习的模型校准
  • 0.17元的4位数码管驱动芯片AiP650,支持键盘,还是无锡国家集成电路设计中心某公司的
  • 【C++】编程规范之内存规则
  • 并发编程之线程池的应用以及一些小细节的详细解析
  • 基于JSP的农产品供销服务系统
  • redis之主从复制、哨兵模式
  • 【随笔】Git 基础篇 -- 分支与合并 git rebase(十)
  • 图像识别技术在体育领域的应用
  • 【项目新功能开发篇】开发编码
  • 软件设计原则:开闭原则
  • Python如何下载视频
  • 使用虚拟引擎为AR体验提供动力
  • Kafka入门到实战-第五弹
  • Ideal Holidays
  • Raven:一款功能强大的CICD安全分析工具
  • 【苹果MAC】苹果电脑 LOGI罗技鼠标设置左右切换全屏页面快捷键
  • IDE/VS2015和VS2017帮助文档MSDN安装和使用
  • 开启 Keep-Alive 可能会导致http 请求偶发失败
  • 【leetcode面试经典150题】4.删除有序数组中的重复项 II(C++)
  • 【LeetCode热题100】【普通数组】合并区间
  • 自我认识的方法模型图
  • dhcp和dhcp中继代理
  • 【fastadmin】脚本模式下,日志钩子函数执行出现死循环,导致内存溢出奔溃
  • gitlab代码迁移,包含历史提交记录、标签、分支
  • 通过TCP或UDP向某个IP和端口发送数据
  • Go语言介绍及Go语言成功的项目列举
  • CQI-17:2021 V2 英文 、中文版。特殊过程:电子组装制造-锡焊系统评审标准