Стоп ASP. NET Core 3.1 [FromForm] Преобразование ненулевого десятичного числа в 0 - PullRequest
0 голосов
/ 02 апреля 2020

Когда I POST к следующему, он преобразует ненулевое JobNumber в 0 вместо отправленного значения.

 [HttpPost("{testName}")]
        public async Task<ActionResult<FirstPieceStamps>> PostFirstPieceStamps(string testName, [FromForm] FirstPieceStamps firstPieceStamps)

Вот модель FirstPieceStamps

public class FirstPieceStamps
    {
        [Column(TypeName = "decimal(10,3)")]
        public decimal JobNumber { get; set; }

        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int StampID { get; set; }

        [Required]
        public int TestID { get; set; }

        [Required]
        public int UserTypeID { get; set; }

        [Required]
        public bool Stamped { get; set; } = false;
#nullable enable
        public string? FirstName { get; set; }

        public string? LastName { get; set; }
#nullable disable
        public FirstPieceJobs FirstPieceJobs { get; set; }

        public FirstPieceTests FirstPieceTests { get; set; }

        public FirstPieceUserTypes FirstPieceUserType { get; set; }

    }

request Я пытаюсь сделать из Postman, чтобы проверить его.

https://localhost:5001/api/FirstPieceStamps/Layflat?JobNumber=266019.001&Stamped=true&FirstName=John&LastName=Doe

Значение JobNumber должно можно преобразовать в десятичное число, , но вместо этого преобразуется в 0.

1 Ответ

3 голосов
/ 02 апреля 2020

Проверьте ваше использование FromForm. Если вы действительно отправляете этот POST, как указано выше, то параметры находятся в строке запроса, и вы должны использовать вместо этого [FromQuery]. Я создал проект API fre sh Core 3.1 с вашей моделью и этим методом контроллера, и он работал правильно только тогда, когда я изменил FromForm на FromQuery. Если вы хотите, чтобы FromForm работал, то вам нужно удалить их из строки запроса и использовать опцию «form-data» в Postman. С FromQuery был получен полный JobNumber с десятичными знаками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...