English 中文(简体)
Json检查区,在互联网终端点不正确
原标题:Check fields of Json that are incorrect on .net endpoint

Context

I have the following endpoint:

[HttpPatch("sendForm")]
[ProducesResponseType(StatusCodes.Status204NoContent)]
[ProducesResponseType(typeof(SendFormResponseDto), StatusCodes.Status200OK)]
public async Task<IActionResult?> SendForm([FromBody] UpdateFormRequest updateFormRequest)
    => Ok(await _sendForm.InvokeAsync(updateFormRequest));

www.un.org/Depts/DGACM/index_spanish.htm

public class UpdateFormRequest
{
    public Guid Id { get; set; }
    public string? ArrivalTime { get; set; }
    public string? Val1 { get; set; }
    public string? Val2 { get; set; }
}

<>可见>

The endpoint is expecting a Json with the structure of updateFormRequest, which. When the input json is not correct, it returns the error that updateFormRequest was expected.

www.un.org/Depts/DGACM/index_spanish.htm 预期结果

I want that whenever the input json is incorrect, it tells which fields are missing or they have incorrect input format (for example, an integer instead of an string). Is there any way to achieve this without having to manually check each of the input fields of the json?

问题回答

我认为,你可以从<条码>ModelState中选择所有错误,并将之退回。

public class UpdateFormRequest
    {
        public int Id { get; set; }
        public int UsuarioId { get; set; }
        public DateTime CreatedAt { get; set; }
    }

Controllers

        [HttpPost]
        [ProducesResponseType(StatusCodes.Status204NoContent)]
        public IActionResult SendForm(UpdateFormRequest updateFormRequest)
        {
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                           .Where(y => y.Count > 0)
                           .ToList();
                return BadRequest(errors);
            }
            return  Ok(updateFormRequest);
        }

Now when I send invalid json to endpoint, It will return all the error message automatically.

“entergraph

其中 你可以安排答复。





相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签