Ошибка кода возврата в. NET 3.0 коде, в то время как все библиотеки включены - PullRequest
0 голосов
/ 03 марта 2020

Следующий код приводит к ошибке, отображаемой IDE в строках возврата. Этот код: csharp (CS0103) Стандартный номер StatusCode не существует в контексте [DatingApp.API] csharp (CS0103) Имя StatusCode не существует в текущем контексте

Я использую . NET 3.0 и методы BadRequest и StatusCode кажутся правильными и являются частью API.

Любая подсказка, что может пойти не так?

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Core;
using DatingApp.API.Data;
using System.Threading.Tasks;
using DatingApp.API.Models;

namespace DatingApp.API.Controllers
{
    [Route("/api/[Controller]")]
    [ApiController]
    public class AuthController
    {
        private readonly IAuthRepository _repo;

        public AuthController(IAuthRepository repo)
        {
            _repo = repo;
        }

        [HttpPost("register")]
        public async Task<IActionResult> Register(string username, string password)
        {
            username = username.ToLower();

            if (await _repo.UserExists(username)){
                return BadRequest("Nombre de usuario ya existente");
            }
            var userToCreate = new User
            {
                Username = username
            };     

            var createdUser = await _repo.Register(userToCreate, password);

            return StatusCode(201);
        }
    }
}

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Вам необходимо наследовать от ControllerBase, чтобы получить выгоду. StatusCodeResult и OkObjectResult находятся в ControllerBase. Надеюсь, это поможет.

namespace DatingApp.API.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class AuthController : ControllerBase
    {
        private readonly IAuthRepository _AuthRepository;
0 голосов
/ 04 марта 2020

AuthController должен наследоваться от Controller, чтобы эти методы были доступны.

...