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

.Net Core WebAPI参数的传递方式

Controller继承自ControllerBase,只不过增加了视图相关的方法,一般mvc项目选用Controller而Web API项目选择ControllerBase即可。

给服务器传递参数的时候,有URL、QueryString、请求报文体3种方式

请求路径/Student/GetAll/school/MIT/class/A001

GetAll方法添加了[HttpGet("schllo/{schoolName}/class/{classNo}")]

**结果:**schoolName=MIT和classNo=A001。如果GetAll方法的参数中有和占位符名字同名的参数,那么这个参数就会被自动赋值。如果占位符名字与参数名称不一致,则使用[FromRoute]的Name属性来设置匹配的占位符的名字,例如:

[HttpGet("schllo/{schoolName}/class/{classNo}")]
public ActionResult<Student[]> GetAll(string schoolName,[FromRoute(Name="classNo")]string calssNum) //classNum的参数想获得占位符{classNo}的值

  • QueryString中的值

使用[FromQuery]来获取,如果操作方法的参数名字和QueryString的名字一致,只需要为参数添加[FromQuery],否则,就要设定[FromQuery]的name属性指定名字

//URL的QueryString为pageNum=8&pSize=10
public ActionResult<Student[]> GetAll([FromQuery]string pageNum,[FromQuery)(Name="psize")]int pageSize)
  • 请求报文体

目前JSON是主流的请求报文体格式,本文讲JSON报文体

案例:

需求:前端浏览器向服务器发送的报文体:{“name”:“qs”,“age”:“18”}

直接声明一个Person类定义Name和age两个属性

[HttpPost("classId/{classId}")]
public ActionResult<long> AddNew(long classId,Person s)
//客户端只要向/Students/AddNew/classId/8,伴随报文体{“name”:"yzk","age":"18"}
//通过classId获取8,s参数则是报文体

*注意:**一定设置请求报文头中Content-Type为application/JSON

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

相关文章:

  • 10款免费黑科技软件,强烈推荐!
  • DFS:解决二叉树问题
  • 【相机开发问题总结】曝光补偿ExposureCompensation未生效异常分析及解决
  • Flutter 中的 DateRangePickerDialog 小部件:全面指南
  • MCS-51伪指令
  • vue3 vant4实现抖音短视频功能
  • C#结合JS实现HtmlTable动态添加行并保存到数据库
  • Unity Render Streaming 云渲染 外网访问
  • 美易官方:Copilot全面升级!
  • 深入了解FreeRTOS:实时操作系统的核心概念和应用
  • Spring框架学习笔记(五):JdbcTemplate 和 声明式事务
  • 考研计组chap1计算机系统概述
  • 如何使用Python中的生成器
  • C语言 读取 MIDI文件头部
  • C# Winform实现五子棋游戏(代完善)
  • 文档档案管理系统整体建设方案书(实际项目原件word2024)
  • React与Vue的区别?
  • leetcode 2115.从给定原材料中找到所有可以做出的菜
  • Opencompass模型评测教程
  • 什么是安全测试,如何进行安全测试?
  • ros的pcl库中对于自己定义的消息,调用pcl库时总是报错 c++
  • DataFrame—数据汇总6
  • Java入门基础学习笔记41——实体类
  • 【Linux】信号之信号的保存和处理详解
  • 基于Django的图书管理系统
  • js实现元素根据鼠标滚轮滚动向左右上下滑动着从模糊到清楚显示出来
  • yocto学习
  • 【IC设计】牛客网-序列检测习题总结
  • python爬虫登录到海康相机管理页面
  • 9.Docker网络