Grapevine 4.2.2 如何从请求路径中获取路径参数id的值
解决方法
Grapevine 4.2.2 会自动将路由占位符解析到请求上下文的 PathParameters 字典中,你直接以占位符名称作为键取值即可:
//GET id [RestRoute(HttpMethod = HttpMethod.GET, PathInfo = "/api/[id]")] public IHttpContext GetDataId(IHttpContext context) { // 取值逻辑,默认返回string类型,按需做类型转换即可 string id = context.Request.PathParameters["id"]; // 此处添加后续业务逻辑 return context; }
额外注意事项
- 取值时参数名要和路由占位符中的名称完全一致,区分大小写
- 不确定参数是否存在时,可以先做存在性判断,避免抛出键不存在异常:
if (context.Request.PathParameters.ContainsKey("id")) { string id = context.Request.PathParameters["id"]; // 执行业务逻辑 }
- 拿到的参数默认是字符串格式,如果需要int、long等数值类型,自行做类型转换即可。
内容的提问来源于stack exchange,提问作者Rvstron
相关产品推荐
相关产品推荐

