序列化字符串的Web API验证

本文关键字:API 验证 Web 字符串 序列化 | 更新日期: 2023-09-27 18:00:22

当我们将模型作为序列化字符串接收时,我不知道如何在web API中验证该模型。

我在我的模型上使用DataAnnotations进行验证,我通常这样做:

public IHttpActionResult Save([FromBody] IEnumerable<User> users)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }
    // ...
}

在这种特定情况下,"模型"来自一个序列化字符串:

public IHttpActionResult Save()
{
    string Data = HttpContext.Current.Request.Form["Data"];
    IEnumerable<User> users = JsonConvert.DeserializeObject<IEnumerable<User>>(Data);
    // ...
}

我怎么可能验证这一点?

序列化字符串的Web API验证

按照上面的例子:

        // Validate
        Validate<List<User>>(user);
        if (!ModelState.IsValid)
        {
            return new InvalidModelStateResult(ModelState, true, new DefaultContentNegotiator(), Request, new MediaTypeFormatter[] { new JsonMediaTypeFormatter() }); // Force JSON
        }

谢谢。