C# WebApi传参及Postman调试
创始人
2025-01-08 13:05:57
0

概述

欢迎来到本文,本篇文章将会探讨C# WebApi中传递参数的方法。在WebApi中,参数传递是一个非常重要的概念,因为它使得我们能够从客户端获取数据,并将数据传递到服务器端进行处理。WebApi是一种使用HTTP协议进行通信的RESTful服务,它可以通过各种方式传递参数。在本文中,我们只会针对Get和Post讨论参数传递的方法,以及如何在C# WebApi中正确地处理它们。

Get

GET请求方法用于获取资源,通常会将参数放在URL的查询字符串中进行传递。由于GET请求方法是无状态的,因此它通常被用于获取数据,而不是修改数据。

// 该函数用于向服务器发送GET请求并获取数据 export function getAction(url, query) {   return request({     url: url,     method: 'get',     params: query   }) } 

1.传递字符串参数

// 前端代码 handleTest() {       getAction('/test/list1', { id: 1 }).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : ControllerBase {     [HttpGet("list1")]     public IActionResult Index(int id)     {         return Ok(id);     } } 

附上Postman调用截图

2.传递实体参数

注意:.Net Core 项目中使用[FromQuery]特性,在.Net Framework 项目中使用[FromUri]特性

// 前端代码 handleTest() {       getAction('/test/getPerson', { Name: 'Hpf', Age: '29', Sex: '男' }).then((res) => {         console.log('res=', res)       })     }, 
//后端代码 [Route("test")] public class TestController : BaseController { 	[HttpGet("getPerson")] 	public IActionResult GetPerson([FromQuery] Person person) 	{ 		return Ok(); 	} }   public class Person { 	public string Name { get; set; } 	public string Age { get; set; } 	public string Sex { get; set; } } 

附上Postman调用截图

Post

POST请求方法用于向服务器端提交数据,通常会将参数放在请求体中进行传递。POST请求方法通常被用于创建、更新或删除资源。

// 该函数用于向服务器发送POST请求并获取数据 export function postAction(url, data) {   return request({     url: url,     method: 'post',     data: data   }) } 

1.传递实体参数

// 前端代码 handleTest() {       postAction('/test/postPerson', { Name: 'Hpf', Age: '29', Sex: '男' }).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : BaseController { 	[HttpPost("postPerson")] 	public IActionResult PostPerson([FromBody] Person person) 	{ 		return Ok(); 	} }   public class Person { 	public string Name { get; set; } 	public string Age { get; set; } 	public string Sex { get; set; } } 

附上Postman调用截图

2.传递实体集合参数

// 前端代码 handleTest() {       let list = [         { Name: 'Hpf', Age: '29', Sex: '男' },         { Name: 'Zzr', Age: '26', Sex: '女' },       ]       postAction('/test/postPerson', list).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : BaseController { 	[HttpPost("postPerson")] 	public IActionResult PostPerson([FromBody] List person) 	{ 		return Ok(); 	} }   public class Person { 	public string Name { get; set; } 	public string Age { get; set; } 	public string Sex { get; set; } } 

附上Postman调用截图

3.传递数组参数

// 前端代码 handleTest() {       postAction('/test/postPerson',  ['1', '2', '3']).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : BaseController { 	[HttpPost("postPerson")] 	public IActionResult PostPerson([FromBody] string[] str) 	{ 		return Ok(); 	} } 

附上Postman调用截图

# 概述

欢迎来到本文,本篇文章将会探讨C# WebApi中传递参数的方法。在WebApi中,参数传递是一个非常重要的概念,因为它使得我们能够从客户端获取数据,并将数据传递到服务器端进行处理。WebApi是一种使用HTTP协议进行通信的RESTful服务,它可以通过各种方式传递参数。在本文中,我们只会针对Get和Post讨论参数传递的方法,以及如何在C# WebApi中正确地处理它们。

Get

GET请求方法用于获取资源,通常会将参数放在URL的查询字符串中进行传递。由于GET请求方法是无状态的,因此它通常被用于获取数据,而不是修改数据。

// 该函数用于向服务器发送GET请求并获取数据 export function getAction(url, query) {   return request({     url: url,     method: 'get',     params: query   }) } 

1.传递字符串参数

// 前端代码 handleTest() {       getAction('/test/list1', { id: 1 }).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : ControllerBase {     [HttpGet("list1")]     public IActionResult Index(int id)     {         return Ok(id);     } } 

附上Postman调用截图

2.传递实体参数

注意:.Net Core 项目中使用[FromQuery]特性,在.Net Framework 项目中使用[FromUri]特性

// 前端代码 handleTest() {       getAction('/test/getPerson', { Name: 'Hpf', Age: '29', Sex: '男' }).then((res) => {         console.log('res=', res)       })     }, 
//后端代码 [Route("test")] public class TestController : BaseController { 	[HttpGet("getPerson")] 	public IActionResult GetPerson([FromQuery] Person person) 	{ 		return Ok(); 	} }   public class Person { 	public string Name { get; set; } 	public string Age { get; set; } 	public string Sex { get; set; } } 

附上Postman调用截图

Post

POST请求方法用于向服务器端提交数据,通常会将参数放在请求体中进行传递。POST请求方法通常被用于创建、更新或删除资源。

// 该函数用于向服务器发送POST请求并获取数据 export function postAction(url, data) {   return request({     url: url,     method: 'post',     data: data   }) } 

1.传递实体参数

// 前端代码 handleTest() {       postAction('/test/postPerson', { Name: 'Hpf', Age: '29', Sex: '男' }).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : BaseController { 	[HttpPost("postPerson")] 	public IActionResult PostPerson([FromBody] Person person) 	{ 		return Ok(); 	} }   public class Person { 	public string Name { get; set; } 	public string Age { get; set; } 	public string Sex { get; set; } } 

附上Postman调用截图

2.传递实体集合参数

// 前端代码 handleTest() {       let list = [         { Name: 'Hpf', Age: '29', Sex: '男' },         { Name: 'Zzr', Age: '26', Sex: '女' },       ]       postAction('/test/postPerson', list).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : BaseController { 	[HttpPost("postPerson")] 	public IActionResult PostPerson([FromBody] List person) 	{ 		return Ok(); 	} }   public class Person { 	public string Name { get; set; } 	public string Age { get; set; } 	public string Sex { get; set; } } 

附上Postman调用截图

3.传递数组参数

// 前端代码 handleTest() {       postAction('/test/postPerson',  ['1', '2', '3']).then((res) => {         console.log('res=', res)       })     }, 
// 后端代码 [Route("test")] public class TestController : BaseController { 	[HttpPost("postPerson")] 	public IActionResult PostPerson([FromBody] string[] str) 	{ 		return Ok(); 	} } 

附上Postman调用截图

相关内容

热门资讯

七分钟了解!闲娱棋牌有挂吗,w... 七分钟了解!闲娱棋牌有挂吗,wepower德州都是真的有挂,必备教程(有挂脚本);进入游戏-大厅左侧...
2分钟科普!雀神微信小程序怎么... 2分钟科普!雀神微信小程序怎么开挂,aaPOKER确实是真的有挂,玩家教你(有挂教学)1、点击下载安...
九分钟辅助!决战卡五星游戏辅助... 九分钟辅助!决战卡五星游戏辅助器,德州俱乐部果然有挂,详细教程(有挂揭秘)暗藏猫腻,小编详细说明决战...
8分钟辅助挂!财神十三张特殊牌... 8分钟辅助挂!财神十三张特殊牌外 挂,we-poker原来有挂,新2025版(有挂教学)1、每一步都...
7分钟辅助挂!台州宝宝游戏外 ... 7分钟辅助挂!台州宝宝游戏外 挂,鱼扑克app俱乐部切实是有挂,安装教程(有挂辅助挂)1、任何台州宝...
一分钟实锤!闲逸碰胡黑科技,哈... 一分钟实锤!闲逸碰胡黑科技,哈糖大菠萝十三张一直真的是有挂,微扑克教程(有挂软件)运闲逸碰胡黑科技辅...
六分钟辅助!微信小程序广丰51... 六分钟辅助!微信小程序广丰510k有挂吗,菠萝德州app切实是有挂,AA德州教程(有挂详情)1、起透...
五分钟普及!中至万年麻将有挂吗... 五分钟普及!中至万年麻将有挂吗,德州俱乐部一直是有挂,可靠技巧(有挂普及);该软件可以轻松地帮助玩家...
8分钟发现!葫芦娃捉鸡是真的吗... 8分钟发现!葫芦娃捉鸡是真的吗,红龙poker切实是有挂,科技教程(有挂神器)该软件可以轻松地帮助玩...
4分钟了解!大唐麻将有什么规律... 4分钟了解!大唐麻将有什么规律吗,德扑其实是真的有挂,教你攻略(有挂方法);1、实时大唐麻将有什么规...