8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

ASP.NET api 将请求主体设为 null

ili Asghar 2月前

26 0

我有我的控制器类 asnamespace air_bnb.Controllers{ [Route(\'api/[controller]\')] public class UserController : Controller { private readonly UserDbContext con...

我的控制器类为

namespace air_bnb.Controllers
{
    [Route("api/[controller]")]
    public class UserController : Controller
    {
        private readonly UserDbContext context;
        private readonly IConfiguration _config;

        public UserController(IConfiguration configuration, UserDbContext _context)
        { 
            _config = configuration;
            context = _context;
        }

        [HttpPost("register")]
        public async Task<IActionResult> Register(LoginReqDto request)
        {
            System.Diagnostics.Debug.WriteLine(request.Password);
            var hashedPw = BCrypt.Net.BCrypt.HashPassword(request.Password);
            User createdUser = new User
                                   {
                                       Email = request.Email,
                                       Password = hashedPw,
                                       Id = Guid.NewGuid().ToString()
                                   };

            createdUser.Email = request.Email;
            createdUser.Password = hashedPw;

            await context.Users.AddAsync(createdUser);

            try 
            {
                await context.SaveChangesAsync(); 
            }
            catch (Exception e) 
            {
                return BadRequest(request.Password); 
            }

            return Ok(request.Password);
        }
    }
}

从前端来说,我使用的 HTTPClient 是 Angular。当我使用 Postman 发送数据时,一切都运行正常。

帖子版权声明 1、本帖标题:ASP.NET api 将请求主体设为 null
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由ili Asghar在本站《api》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 添加了 angular 标签,因为这个问题与 Angular 有关。请提供有关如何通过 Angular 提交请求的信息,请求是否已提交(检查 DevTools,网络选项卡),如 marc 所述。

  • 我认为您在控制器类名中遗漏了 [ApiController]。像这样 [ApiController] [Route(\'api/[controller]\')] public class UserController : Controller

  • 您从 Angular 应用程序和 Postman 发送的正文数据有什么区别吗?例如使用表单数据 (application/x-www-form-urlencoded) 或 JSON (application/json)。

    这里,您使用 Controller 默认绑定来自源数据的基类。如果您以 JSON 格式传递数据,则必须为操作参数明确指定 [FromBody] 属性。

    public async Task<IActionResult> Register([FromBody] LoginReqDto request)
    
返回
作者最近主题: