[英]Could not get to a route in asp.net core
为什么我无法访问我的 asp.net 核心应用程序中的控制器。 请看下面的代码。
using System;
using System.Threading.Tasks;
using HashingApplication;
using Microsoft.AspNetCore.Mvc;
using NgWithJwt.Models;
namespace NgWithJwt.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UserController : ControllerBase
{
private readonly ApplicationDbContext context;
public UserController(ApplicationDbContext context)
{
this.context = context;
}
[HttpPost]
[ValidateAntiForgeryToken]
[Route("add-user")]
public async Task<IActionResult> AddUser(AppUser model)
{
if (ModelState.IsValid)
{
var saltValue = Guid.NewGuid().ToString() + model.Password;
var password = Encryption.Encrypt(model.Password, saltValue);
model.SaltValue = saltValue;
model.Password = password;
model.CreatedDate = DateTime.Now;
context.Add(model);
var response = await context.SaveChangesAsync();
if(response > 0)
{
return Ok(model);
}
}
return BadRequest();
}
}
}
这是我的模型课
public partial class AppUser
{
[Key]
public int Id { get; set; }
[Column(TypeName = "nvarchar(100)")]
[Required(ErrorMessage = "Username is required.")]
[DisplayName("Username")]
public string UserName { get; set; }
[Column(TypeName = "nvarchar(100)")]
[Required(ErrorMessage = "First Name is required")]
[DisplayName("First Name")]
public string FirstName { get; set; }
[Column(TypeName = "nvarchar(100)")]
[DisplayName("Middle Name")]
public string MiddleName { get; set; }
[Column(TypeName = "nvarchar(100)")]
[Required(ErrorMessage = "Last Name is required")]
[DisplayName("Last Name")]
public string LastName { get; set; }
[Column(TypeName = "nvarchar(max)")]
public string SaltValue { get; set; }
[Column(TypeName = "nvarchar(100)")]
[Required(ErrorMessage = "Password is required")]
[DisplayName("Password")]
public string Password { get; set; }
[Column(TypeName = "nvarchar(100)")]
public string UserType { get; set; }
public DateTime CreatedDate { get; set; }
}
我的服务器正在运行,所以我尝试使用邮递员访问它,如下所示:
{
"Username": "juan",
"FirstName": "Juan",
"MiddleName": "A.",
"LastName": "Dela Cruz",
"Password": "password",
"UserType": "User"
}
服务器正在运行
我使用这个 url 来发布数据
这是我在邮递员上遇到的错误。 我正在使用调试模式到达我的控制器断点。
您说服务器在https ://localhost:44366/ 上运行,但您正在向http ://localhost:44366/ 发送请求
首先,作为@Json 的回答,您需要通过 url 发送请求: https://localhost:44366/XXX
。
然后,对于 400 Bad Request,您需要删除以下行:
[HttpPost]
//[ValidateAntiForgeryToken] //remove this line
[Route("add-user")]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.