ASP.NET Core 中 FromRoute 和 FromQuery 属性的区别
在 ASP.NET Core 中,'FromRoute' 和 'FromQuery' 是用于从 HTTP 请求中获取参数值的两个常用属性。它们的区别如下:
-
FromRoute: 'FromRoute' 属性用于从 URL 的路由中提取参数值。当定义路由模板时,可以将参数作为路由的一部分,以在 URL 中指定参数值。使用 'FromRoute' 属性时,参数值将从 URL 的路由中提取。
示例:
[HttpGet("users/{id}")] public IActionResult GetUserById([FromRoute] int id) { // 从 URL 中的路由获取'id'参数值 // 例如,对于 URL:/users/10,id 的值将是 10 // 执行相应的操作并返回结果 } -
FromQuery: 'FromQuery' 属性用于从 URL 查询字符串中获取参数值。查询字符串是 URL 中以 '?' 符号开始的部分,包含参数和对应的值。使用 'FromQuery' 属性时,参数值将从查询字符串中提取。
示例:
[HttpGet("users")] public IActionResult GetUsersByAge([FromQuery] int age) { // 从 URL 的查询字符串获取'age'参数值 // 例如,对于 URL:/users?age=25,age 的值将是 25 // 执行相应的操作并返回结果 }
总结: 'FromRoute' 用于从 URL 的路由中提取参数值,而 'FromQuery' 用于从 URL 的查询字符串中提取参数值。根据参数值的来源不同,你可以选择使用适当的属性来获取参数值。
原文地址: https://www.cveoy.top/t/topic/cr3r 著作权归作者所有。请勿转载和采集!