我的api-controller中有以下方法:
[HttpPut("{id}")]
public IActionResult Put(int id, [FromBody]MyModel model)
{
if (!ModelState.IsValid)
{
return BadRequest();
}
// Here I want to know more about model.SomeReferenceId
return NoContent();
}
为MyModel:
public class MyModel
{
[Required]
public string Name { get; set; }
public int? SomeReferenceId { get; set; }
}
现在我想知道请求中是否包含SomeReferenceId
但是值为空,或者请求中是否包含SomeReferenceId
。
基本上我想知道请求正文是否
{
Name: "Some Name",
SomeReferenceId: null
}
或
{
Name: "Some Name"
}
答案 0 :(得分:0)
我倾向于同意user12345,为什么会有所作为呢?
如果你绝对必须知道你可以将原始体读作字符串并检查内容。
using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8))
{
var rawBody = reader.ReadToEnd();
// check rawBody for presence of field
}