'How to return different cache-control headers for different endpoints using ASP.NET minimal APIs?
I would like to return a different cache-control header value for different endpoints using ASP.NET minimal APIs. How do we do this without controllers?
This can be accomplished using controllers as follows:
using Microsoft.AspNetCore.Mvc;
namespace CacheTest;
[ApiController]
public class TestController : ControllerBase
{
[HttpGet, Route("cache"), ResponseCache(Duration = 3600)]
public ActionResult GetCache() => Ok("cache");
[HttpGet, Route("nocache"), ResponseCache(Location = ResponseCacheLocation.None, Duration = 0)]
public ActionResult GetNoCache() => Ok("no cache");
}
The first endpoint returns the header Cache-Control: public,max-age=3600.
The second endpoint returns the header Cache-Control: no-cache,max-age=0.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
