web-dev-qa-db-ja.com

ASP.NET Core WebAPIのデフォルトルートが機能しない

ASP.NET Core WebAPIプロジェクトでデフォルトルートを設定するには、次のように置き換える必要があることを示唆するいくつかの例に従いました。

app.UseMvc();

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller}/{action}",
        defaults: new { controller = "Traders", action = "Get" });
});

しかし、実行すると、デフォルトでlocalhost:54321/api/valuesそしてデフォルトはlocalhost:54321/Traders

どうしましたか?

12
series0ne

@tmgが言及したように、次のことを行います。

Webプロジェクトを右クリック->プロパティの選択->左側の[デバッグ]タブを選択-> [起動URL]フィールドを編集して、独自のデフォルト起動URLを設定します。

Properties Pane of the project

34
ctv

次のようにLaunchSettings.jsonファイルを変更することにより、デフォルトルートを変更できます。

enter image description here

5
YG Abhi

以下の手順に従ってください。

Dotnetコアのベースコントローラーを拡張するAPIのベースコントローラーを作成します。

using Microsoft.AspNetCore.Mvc;

namespace WebApi.Controllers
{
    [Route("api/[controller]")]
    public abstract class ControllerApiBase : Controller
    {

    }
}

APIコントローラーの基本クラスを継承します。

using Microsoft.AspNetCore.Mvc;
using WebApi.Dtos;

namespace WebApi.Controllers
{
    public class PingController : ControllerApiBase
    {
        public PingDto Get()
        {
            return new PingDto
            {
                Version = "0.0.0"
            };
        }
    }
}
1
Bruno Pereira