我正在尝试添加AttributeRouting
到我的 WebAPI 项目中。
在一个控制器上,我目前定义了三个 GET 方法:
[GET("dictionaries")]
public IEnumerable<Dictionary> Get()
[GET("dictionaries/{id}")]
public Dictionary GetByID(int id)
[GET("dictionaries/{dictionaryID}/{page}")]
public Dictionary Browse(long dictionaryID, int page)
前两条路线按我的预期工作,但第三条路线总是返回405 METHOD NOT ALLOWED。
我已经尝试在 URL 和查询字符串中发送参数,并且两者的响应相同。当我尝试查询字符串版本时,我已将路线修改为
[GET("dictionaries?dictionaryID={dictionaryID}&page={page}
我还尝试将初始单词 from 更改dictionaries
为dictionary
以避免与其他两个 GET 路由产生任何歧义,但仍然没有成功。
AttributeRouting的文档只提到了与参数约束相关的查询字符串(由于 WebHost 框架,我无法使用这些查询字符串)并且没有提到如何在路由中使用查询字符串。
谁能告诉我如何使用这两个参数实现第三条路线,还是我必须放弃 AttributeRouting 或尝试自己的控制器?