AWS lambda ASP.NET Core中的其他MVC控制器

时间:2017-11-18 20:04:41

标签: c# asp.net-core-mvc aws-lambda serverless

我正在使用ASP.NET核心示例项目。要创建项目运行

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

默认情况下会创建两个控制器。

  • Controllers \ S3ProxyController - 用于代理S3存储桶的Web API控制器
  • Controllers \ ValuesController - 示例Web API控制器

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

如果我只是将类似这样的类添加到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" };
        }

    }

}
&#13;
&#13;
&#13;

这似乎没有注册,所以转到http://localhost:5000/api/animals只会返回404

我对ASP.NET MVC没有多少经验,所以我确定有一些愚蠢的东西我不知道但是我无法看到这些其他控制器在哪里注册

1 个答案:

答案 0 :(得分:2)

您应该创建控制器类public

public class AnimalController : Controller{
...
}

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