AWS lambda ASP.NET 核心中的附加 MVC 控制器

Additional MVC Controller in AWS lambda ASP.NET Core

我正在处理 ASP.NET 核心示例项目。创建项目运行

dotnet new lambda.DynamoDBBlogAPI --profile default --region us-east-1

默认创建两个控制器。

我正在尝试添加一个额外的控制器..但我显然遗漏了一些东西,因为控制器似乎没有注册。

如果我简单地添加一个看起来像这样的 class 到 Controllers 文件夹中。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AspNetCore.Mvc;

namespace FriendHelper.Controllers
{
    [Route("api/animals")]
    class AnimalController : Controller
    {
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "Lion", "Tiger" };
        }

    }

}

这似乎没有注册,所以去 http://localhost:5000/api/animals 只需 returns 一个 404

我对 ASP.NET MVC 没有太多经验,所以我确定我遗漏了一些愚蠢的东西,但我看不到这些其他控制器的注册位置。

你应该制作控制器 class public

public class AnimalController : Controller{
...
}

如果删除 public 关键字,值控制器将无法工作。至少对我不起作用:)