c# - 您可以使用基于约定的路由来声明采用多个参数的路由吗?
问题描述
我的意思是我有几条采用多个参数的路线:
api/sockId/sockColor
api/sockId/sockBrand
api/sockId/sockSize
我可以为所有这些声明一条路线吗?我在想象这样的事情:
config.Routes.MapHttpRoute(
name: "TwoArgumentGeneralRoute",
routeTemplate: "api/{controller}/{action}/{id1}/{id2}"
);
当然,这需要与我的操作方法相匹配:
public Task PostSockColor(int sockId, int sockColor);
public Task PostSockBrand(int sockId, int sockBrand);
public Task PostSockSize(int sockId, int sockSize);
解决方案
您应该可以,尽管我认为参数名称需要与路由匹配。
因此,您必须将路线设置为:
routeTemplate: "api/{controller}/{action}/{sockId}/{variant}"
那么您的方法仅因{action}
(方法名称)不同:
public Task PostSockColor(int sockId, int variant);
public Task PostSockBrand(int sockId, int variant);
public Task PostSockSize(int sockId, int variant);`
推荐阅读
- android - java.lang.RuntimeException:清单合并失败
- python-3.x - Apache Beam Python SDK 会丢弃延迟数据,还是无法配置延迟参数?
- android - 我如何以默认的 androidx 启动我的新 android studio 应用程序
- php - 在单数和复数变体中搜索 needle
- javascript - 无法加载资源:从 localhost 获取时 net::ERR_CONNECTION_REFUSED
- android - 约束布局不适合屏幕尺寸的问题
- scala - Scala 初始化顺序
- elasticsearch - elasticsearch的elastic-builder npm的functionScoreQuery查询
- gcc - 为什么在通过静态方法初始化时允许私有移动构造函数?
- tensorflow - 将 Keras Gru 模型转换为 tf-lite