Returning http status code from Web Api controller

前端 未结 13 1564
一生所求
一生所求 2020-11-27 10:01

I\'m trying to return a status code of 304 not modified for a GET method in a web api controller.

The only way I succeeded was something like this:

p         


        
13条回答
  •  生来不讨喜
    2020-11-27 10:51

    An update to @Aliostads answer using the more moden IHttpActionResult introduced in Web API 2.

    https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/action-results#ihttpactionresult

    public class TryController : ApiController
    {
        public IHttpActionResult GetUser(int userId, DateTime lastModifiedAtClient)
        {
            var user = new DataEntities().Users.First(p => p.Id == userId);
            if (user.LastModified <= lastModifiedAtClient)
            {
                return StatusCode(HttpStatusCode.NotModified);
                // If you would like to return a Http Status code with any object instead:
                // return Content(HttpStatusCode.InternalServerError, "My Message");
            }
            return Ok(user);
        }
    }
    

提交回复
热议问题