.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

相关推荐

  1. .Net Core WebAPI参数传递方式

    2024-05-26 06:52:42       50 阅读
  2. Python中函数参数传递方式是怎样

    2024-05-26 06:52:42       51 阅读
  3. Python中函数参数传递方式是怎样

    2024-05-26 06:52:42       42 阅读
  4. 解释C语言中函数及其参数传递方式

    2024-05-26 06:52:42       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-26 06:52:42       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-26 06:52:42       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-26 06:52:42       87 阅读
  4. Python语言-面向对象

    2024-05-26 06:52:42       96 阅读

热门阅读

  1. QT--气泡框的实现

    2024-05-26 06:52:42       47 阅读
  2. LeetCode 968.监控二叉树 (hard)

    2024-05-26 06:52:42       49 阅读
  3. leetcode热题100.完全平方数(动态规划进阶)

    2024-05-26 06:52:42       47 阅读
  4. leetcode328-Odd Even Linked List

    2024-05-26 06:52:42       50 阅读
  5. C 语言设计模式(结构型)

    2024-05-26 06:52:42       45 阅读
  6. v-if 与 v-show(vue3条件渲染)

    2024-05-26 06:52:42       51 阅读
  7. kafka防止消息丢失配置

    2024-05-26 06:52:42       49 阅读
  8. Git 基础使用(4)标签管理

    2024-05-26 06:52:42       39 阅读
  9. Python库之lxml的简介、安装、使用方法详细攻略

    2024-05-26 06:52:42       41 阅读
  10. [AIGC] CompletableFuture如何实现任务链式调用?

    2024-05-26 06:52:42       35 阅读