J'essaie de retourner un code d'état de 304 non modifié pour une méthode GET dans un contrôleur Web Api.
La seule façon dont j'ai réussi était quelque chose comme ceci:
public class TryController : ApiController
{
public User GetUser(int userId, DateTime lastModifiedAtClient)
{
var user = new DataEntities().Users.First(p => p.Id == userId);
if (user.LastModified <= lastModifiedAtClient)
{
throw new HttpResponseException(HttpStatusCode.NotModified);
}
return user;
}
}
Le problème ici est que ce n'est pas une exception, ce n'est simplement pas modifié, le cache du client est donc correct. Je souhaite également que le type de retour soit un utilisateur (comme le montrent tous les exemples web api avec GET), il ne renvoie pas HttpResponseMessage ou quelque chose du genre.
Aucune suggestion? Je vous remercie