首页 > 解决方案 > https://localhost:5001/API/users/ 找不到

问题描述

当我API> dotnet run在控制台上执行时,它不会显示用户列表页面。我正在使用 sql server express。这是github链接:https ://github.com/joshii22/DatingApp

我得到的错误。 在此处输入图像描述 这些是我更改的文件。

用户控制器.cs

[ApiController]
[Route("api/[controller]")]
public class UsersControllers : ControllerBase
{
    private readonly DataContext _context;
    public UsersControllers(DataContext context)
    {
        _context = context;
    }
    
    [HttpGet]
    public ActionResult<IEnumerable<AppUser>> GetUsers()
    {
        return _context.Users.ToList();
    }

    [HttpGet("{id}")]
    public ActionResult<AppUser> GetUser(int id)
    {
        return _context.Users.Find(id);
    }

启动.cs

public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<DataContext>(options =>
       {
           options.UseSqlServer(_config.GetConnectionString("DefaultConnection"));
       });

        services.AddControllers();
      
    }

appsettings.Development.json

{"ConnectionStrings" : {
"DefaultConnection" : "server = DESKTOP-QUO7HU2\\SQLEXPRESS; database = datingapp.db; Trusted_Connection = True;" }

数据上下文.cs

 public class DataContext : DbContext
{
    public DataContext(DbContextOptions options) : base(options)
    {
    }
    public DbSet<AppUser> Users { get; set; }
}

运行时必须显示。 在此处输入图像描述

标签: c#asp.net-core

解决方案


您最好将 UsersController 更改为 UsersController

或者它不会被检测为控制器

或者,您可以将 Route 更改为[Route("api/users")],而不是 [controller]

public class UsersController : ControllerBase
{
    private readonly DataContext _context;
    public UsersController(DataContext context)
    {
        _context = context;
    }
}

其他代码和你的一样,我可以得到结果:

在此处输入图像描述


推荐阅读