0
私はAPIルーティングにかなり新しく、この問題を回避しようとしています。Web API 2ルーティング
キャンディーバーのリストがあるとします。
私は次のTODOたい:
ListAllCandyBars --- api/Candy
ListCandyBar via ID --- api/Candy/10
ListAllChocBars --- api/Candy/Choc
したがって、我々は3が
デフォルトのGet 取得ID アクションで、あなたがルートとクラスを設定することを期待する方法
を取得GETS持っています。私はListAllCandyBarsとListCandyBarのどちらかをIDまたはListAllCandyBarsとListAllChocBarsを使って取得できるように見えます。
これは私の現在のルートです:
config.Routes.MapHttpRoute(
name: "WithActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional }
);
このようなものを使用する:
public class DefaultController : ApiController
{
// GET: api/Default
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET: api/Default/5
public string Get(int id)
{
return "value";
}
// GET: api/Default/ListSub
public string ListSub(int id)
{
return "value";
}
// POST: api/Default
public void Post([FromBody]string value)
{
}
// PUT: api/Default/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE: api/Default/5
public void Delete(int id)
{
}
}
はあなたから聞くと、この小さな問題を過ぎて取得を楽しみにしています。 PSそれはコントローラの私の理解かもしれません。 ListAllChocBars用に別のコントローラを用意する必要がありますか?
よろしく
ジェームズ
configでマップする代わりに経路属性を使用 –
これは、おかげさまで感謝します。 – WJProctor