更新ASP.NET核心Web API不起作用的变量的值
我有一个列表,当请愿书发出时应该更新,但是它没有做任何事情,没有显示错误或者它只是不更新。你能发现错误或者告诉我解决方法吗 这是我的密码:更新ASP.NET核心Web API不起作用的变量的值,asp.net,asp.net-core,asp.net-web-api,Asp.net,Asp.net Core,Asp.net Web Api,我有一个列表,当请愿书发出时应该更新,但是它没有做任何事情,没有显示错误或者它只是不更新。你能发现错误或者告诉我解决方法吗 这是我的密码: [ApiController] public class UsersController : ControllerBase { private List<User> users = new List<User>(); [HttpGet] public IEnumerable<User> getAl
[ApiController]
public class UsersController : ControllerBase
{
private List<User> users = new List<User>();
[HttpGet]
public IEnumerable<User> getAllUsers()
{
users.Add(new User(1,"alan","alavarez","vasquez",new Location("mexico","guanajuato"),"mail","1234"));
users.Add(new User(1,"alan","alavarez","vasquez",new Location("mexico","guanajuato"),"mail","1234"));
users.Add(new User(1,"alan","alavarez","vasquez",new Location("mexico","guanajuato"),"mail","1234"));
return this.users;
}
[HttpPost]
public IEnumerable<User> addNewUser(User user)
{
this.users.Add(user);
return this.users;
}
}
用户字段是实例,每个请求都将使用控制器创建和销毁该字段。将用户标记为静态,使其成为全局变量,然后您可以通过post向其添加项目 私有静态列表用户=新列表;
并用用户搜索/替换所有this.users。这里有另一种更干净的方法来使用存储库模式和依赖项注入 首先创建存储库以存储用户:
public interface IUserRepository
{
void AddUser(User user);
void EditUser(User user);
void RemoveUser(int userId);
User GetUserById(int userId);
IEnumerable<User> GetUsers();
}
然后在ConfigureServices方法的Startup.cs类中使用singleton生存期注册IUserRepository和实现:
public void ConfigureServices(IServiceCollection services)
{
.
.
.
services.AddSingletone<IUserRepository, InMemoryUserRepository>();
}
最后将存储库注入控制器:
[ApiController]
public class UsersController : ControllerBase
{
private readonly IUserRepository _userRepository;
public UsersController(IUserRepository userRepository)
{
_userRepository = userRepository;
}
[HttpGet]
public IEnumerable<User> getAllUsers()
{
_userRepository.AddUser(new User(1, "alan", "alavarez", "vasquez", new Location("mexico", "guanajuato"), "mail", "1234"));
_userRepository.AddUser(new User(1, "alan", "alavarez", "vasquez", new Location("mexico", "guanajuato"), "mail", "1234"));
_userRepository.AddUser(new User(1, "alan", "alavarez", "vasquez", new Location("mexico", "guanajuato"), "mail", "1234"));
return _userRepository.GetUsers();
}
[HttpPost]
public IActionResult AddNewUser(User user)
{
_userRepository.AddUser(user);
return Ok();
}
}
我如何让它全球化对不起,我是新来的
[ApiController]
public class UsersController : ControllerBase
{
private readonly IUserRepository _userRepository;
public UsersController(IUserRepository userRepository)
{
_userRepository = userRepository;
}
[HttpGet]
public IEnumerable<User> getAllUsers()
{
_userRepository.AddUser(new User(1, "alan", "alavarez", "vasquez", new Location("mexico", "guanajuato"), "mail", "1234"));
_userRepository.AddUser(new User(1, "alan", "alavarez", "vasquez", new Location("mexico", "guanajuato"), "mail", "1234"));
_userRepository.AddUser(new User(1, "alan", "alavarez", "vasquez", new Location("mexico", "guanajuato"), "mail", "1234"));
return _userRepository.GetUsers();
}
[HttpPost]
public IActionResult AddNewUser(User user)
{
_userRepository.AddUser(user);
return Ok();
}
}