返回自定义状态代码在ASP.Net Web API中不起作用

时间:2017-10-31 12:02:00

标签: c# asp.net asp.net-web-api

我是ASP.Net Web API世界的新手。对不起,如果这是一个愚蠢的问题。

我有以下api方法 -

[Route("api/v1/Location/Create")]
[HttpPost]
public IHttpActionResult Create(Location location)
{
    if (!ModelState.IsValid)
    {
       return StatusCode(HttpStatusCode.BadRequest);
    }

    return Ok();
}


public class Location
{
    public int MCC { get; set; }
    public int MNC { get; set; }
    public int LAC{ get; set; }
    public int CellId { get; set; }
}

如果我从客户端发送字符串值,它仍会返回StatusCode 200

我在这里缺少什么?

3 个答案:

答案 0 :(得分:2)

您尚未在地理位置上添加任何数据注释。 尝试将[Required]数据注释添加到属性中。

答案 1 :(得分:1)

按如下方式修改您的课程 -

using System.ComponentModel.DataAnnotations;

public class Location
{
    [Required()]
    public int MCC { get; set; }

    [Required()]
    public int MNC { get; set; }

    [Required()]
    public int LAC{ get; set; }

    [Required()]
    public int CellId { get; set; }
}

答案 2 :(得分:1)

ModelState.IsValid注释每个字段时,

[Required]正在检查数据模型验证。