thisRoute
に従って、ベースコントローラーから属性を継承しようとしています。正しく動作しているように見えますが、以前に動作していたアクションが台無しになります。
以下は、私の基本コントローラーと子コントローラーの最小限の例です。
[RoutePrefix("api/{controller}")]
public class MyController<TEntity, TDto>: ApiController{
[HttpGet]
public IEnumerable<TDto> All(){
...
}
[HttpGet, Route("lookup")]
public virtual IEnumerable<TDto> LookupData(){
...
}
}
[RoutePrefix("api/entity")]
public class EntityController : MyController<Entity, DTO>
{
}
ルート属性の継承を実装した後、api/entity/lookup
アクションは機能しますが、api/entity
(for All
)の場合、 とActionSelector
の両方の 2 つのアクションを返すため、エラーが発生します。All
LookupData
Route
通常ルートなのになぜ属性付きのアクションを選択しているのかわかりません。どうすればいいですか?ActionSelector
または、この問題に対してa を作成する堅牢な方法はありますか?