プロジェクトをasp net coreに移行していますが、これらのルートを構成できませんでした。属性を使用してアクションをマップしています。ASP.NETコア属性ルーティング
コードASP.Net WebAPI2ため
[Route("api/[controller]")]
public class SalesController : Controller
{
// api/sales/1 -> ok
[HttpGet]
public HttpResponseMessage Get(int id)
{
// Logic
}
// api/sales -> ok
[HttpGet]
public HttpResponseMessage Get([FromUri] PaginationHelper pagination)
{
// Logic
}
// api/sales?me -> ok
[ActionName("Get")]
public HttpResponseMessage GetMe(bool? me)
{
// Logic
}
}
ASP.Netコア
のコードファイルでStartup.csはapp.UseMvc(設定されています)。
[Route("api/[controller]")]
public class SalesController : Controller
{
// api/sales/1 -> ok
[HttpGet("{id}")]
public IActionResult Get(int id)
{
// Logic
}
// api/sales -> don't work
[HttpGet] // -> ???
public IActionResult Get(PaginationHelper pagination)
{
// Logic
}
// api/sales?me -> don't work
[HttpGet] // -> ???
public IActionResult GetMe(bool? me)
{
// Logic
}
}
私はわからないんだけど..しかし、私はおそらく、既存のものを先行する必要がありますが、そのいずれかのルートを追加するか、またはあなたがそれにルート属性を追加することができると思いますメソッドを特定のルートで実行します。 ルートルールは宣言されても問題ありません。最初に他のキャッチが最初に届かない場合は... – rmjoia
これは機能しますか? // get api/values [HttpGet] public IActionResult Get() { 戻り値(新しい文字列[] {"value1"、 "value3"}); } –