webapi 获取参数值的几种方式

[FromRoute(Name="名字")],捕捉的值会被自动赋值给Action中同名的参数;如果名字不一致,可以用[FromRoute(Name="名字")]

//前端传入
export async function workOrderWithdrawApprove() { return requestClient.post('/workOrder/withdrawApprove/'+ 10086); }
//后端接收
[HttpPost("{workorderId}")] public IActionResult WithdrawApprove([FromRoute] int workorderId) { return Ok("ok"); }

 

[FromQuery]来获取QueryString中的值。如果名字一致,只要为参数添加[FromQuery]即可;而如果名字不一致,[FromQuery(Name = 名字)]

//前端传递
export async function workOrderWithdrawApprove(workorderId: number) { return requestClient.post('/workOrder/withdrawApprove?workorderId='+workorderId); }
//后端接收
[HttpPost]
public IActionResult WithdrawApprove([FromQuery] int workorderId) { return Ok(new { code = 0, data = true }); }

 

[FromForm] 从Content-Type为multipart/form-data的请求中获取数据的[FromForm]

[FromBody]:从请求正文中获取值。

//前端传入
export async function workOrderWithdrawApprove() { return requestClient.post('/workOrder/withdrawApprove',{pageIndex: 1, pageSize: 10, type: "乌鸦坐飞机"}); }
//后端接收
public
class A { public int pageIndex { get; set; } public int pageSize { get; set; } public string type { get; set; } } [HttpPost] public IActionResult WithdrawApprove([FromBody] A a) { return Ok(a); }

 

[FromHeader]从请求报文头中获取值的[FromHeader]
下面举例: 

[HttpGet("BlogByComposite/{title}")]
public Blog GetBlogByBody(string name, [FromRoute(Name = "title")] string title, string contentt, [FromQuery(Name = "typeId")] int typeIdd)
{
    return new Blog(name, title, typeIdd);
}

 


打印结果: 

 

posted @ 2024-08-30 09:55  龙卷风吹毁停车场  阅读(113)  评论(0)    收藏  举报