OData V4返回补丁上更新的实体



我知道我可以这样设置标题

headers: {
    'Prefer': 'return=representation'
}

但是我想问是否有可能使它成为我的控制器上的默认行为。

public IHttpActionResult Patch(int key, Delta<T> delta)
{
    Validate(delta.GetEntity());
    if (!ModelState.IsValid)
        return BadRequest(ModelState);
    var entity = Repository.GetByKey(key);
    if (entity == null)
        return NotFound();
    if (!AuthenticationService.HasWriteAccess(CurentUser, entity))
        return Unauthorized();
    try
    {
        delta.Patch(entity);
        Repository.Save();
    }
    catch (Exception e)
    {
        return InternalServerError(e);
    }
    return Updated(entity);
}

是否有一个属性我可以设置或我可以配置它在启动?

试试这个。把你的回报改成这个。

var updatedODataResult = Updated(entity);
updatedODataResult.Request.Headers.Add("Prefer", "return=representation");
return updatedODataResult;

最新更新