如何在Http调用中将布尔值传递给ASP.NET方法?

时间:2016-02-29 11:55:28

标签: asp.net http asp.net-web-api

这是我到目前为止所做的:

[Route("EndTest/{examId:int}/{userTestId:int}/{retrieve:boolean}")]
public async Task<IHttpActionResult> EndTest(int examId, int userTestId, bool retrieve)

有人可以验证这是否是正确的方法,如果它是可能的,如果是这样,那么我怎么能通过Http调用传递布尔值?

1 个答案:

答案 0 :(得分:0)

根据此Route Constraints,您需要将boolean更改为bool

//eg: GET /EndTest/1234/56789/true
[HttpGet]
[Route("EndTest/{examId:int}/{userTestId:int}/{retrieve:bool}")]
public async Task<IHttpActionResult> EndTest(int examId, int userTestId, bool retrieve) {...}

adding route attributes不符合框架使用的默认约定时,指示允许HTTPMethod是一种好习惯。我在我的示例中添加了HttpGetAttribute