Kon*_*ten 4 c# routes query-string asp.net-web-api asp.net-core
我有以下路由,适用于 invokation /api/demo/info/34。
[Route("api/demo")]
public class Demo : Controller
{
[HttpGet("Info/{x}")]
public JsonResult GetInfos(string x) { ... }
}
Run Code Online (Sandbox Code Playgroud)
现在,我想传递一个查询字符串来选择 ID,如下所示:/api/demo/info?x=34。我应该如何重新表述该属性?
当我尝试输入 时[HttpGet("Info?x={x}")],错误消息表明问号在那里无效。我想通过归因方法来解决它,并且从默认映射进行路由不是一个选项。
您需要做的就是将您的属性声明为:
[HttpGet("Info")]
Run Code Online (Sandbox Code Playgroud)
同时保持方法的签名为GetInfos(string x). 在 GET 路由中,WebAPI 从签名中获取所有参数,只要查询字符串中的名称与参数名称匹配,路由中不存在的参数就可以作为查询字符串参数传递。
| 归档时间: |
|
| 查看次数: |
8119 次 |
| 最近记录: |