0

我正在使用 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" };
        }

    }

}

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

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

4

1 回答 1

2

你应该制作控制器类public

public class AnimalController : Controller{
...
}

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

于 2017-11-29T12:34:44.500 回答