Asp.net web api 如何查询绑定参数?
我正在尝试查询绑定参数Asp.net web api 如何查询绑定参数?,asp.net-web-api,asp.net-core-2.0,asp.net-apicontroller,Asp.net Web Api,Asp.net Core 2.0,Asp.net Apicontroller,我正在尝试查询绑定参数id。它一直以0的形式出现s2在提供时有一个值: id=0,s=null id=0,s2=true 为什么未捕获id?将代码更改为使用FromRoute作为id,因为它是通过route来的,并且更改Http Get,它与您在url中传递的内容不一致 [Route("api/[controller]")] public class ValuesController : Controller { [HttpGet()] public string Get(
id
。它一直以0
的形式出现<代码>s2在提供时有一个值:
id=0,s=nullid=0,s2=true
为什么未捕获
id
?将代码更改为使用FromRoute作为id,因为它是通过route来的,并且更改Http Get,它与您在url中传递的内容不一致
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet()]
public string Get([FromRoute]int id, [FromQuery]string s2)
{
return "value";
}
}
将您的代码更改为使用FromRoute作为Id,因为它是通过路由来的,并更改Http Get,因为它与您在url中传递的内容不一致
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet()]
public string Get([FromRoute]int id, [FromQuery]string s2)
{
return "value";
}
}
您的代码应该是这样的
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet("sub/{id?}")]
public string Get(int? id, string s2)
{
return "value";
}
}
您的代码应该是这样的
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet("sub/{id?}")]
public string Get(int? id, string s2)
{
return "value";
}
}
取下
[FromQuery]
。您明确地声明它应该来自查询字符串,但它不是。@KirkLarkin:太好了。谢谢什么时候使用[FromQuery]
?这是为了更准确地使用它-绑定非常智能,可以检查多个源(例如路由、查询字符串、正文)。如果希望更明确、更准确,可以使用这些属性()。e、 g[FromQuery]仅当参数在query-string中时才表示bind。取下[FromQuery]
。您明确地声明它应该来自查询字符串,但它不是。@KirkLarkin:太好了。谢谢什么时候使用[FromQuery]
?这是为了更准确地使用它-绑定非常智能,可以检查多个源(例如路由、查询字符串、正文)。如果希望更明确、更准确,可以使用这些属性()。e、 g[FromQuery]表示只有当参数在查询字符串中时才使用bind。我可以看出您的代码确实有效。一旦我在OP中删除[FromQuery]
,它也会工作。有什么区别?这个链接会帮助你。我可以看出你的代码确实有效。一旦我在OP中删除[FromQuery]
,它也会工作。有什么区别?这个链接会帮助你。