ASP.NET Core implements a declarative way to manage caching directives in the responses of our web service. Furthermore, it provides an attribute that can be used for caching purposes. The attribute implementation is also compatible with the HTTP 1.1 caching specification, therefore, it becomes easy to implement these caching standards using ASP.NET Core's out-of-the-box implementations, and we don't have to worry about the details of each request. We can specify the caching behavior using the [ResponseCache] attribute that's exposed by ASP.NET Core:
namespace Catalog.API.Controllers
{
[Route("api/items")]
[ApiController]
[Authorize]
public class ItemController : ControllerBase
{
private readonly IItemService _itemService;
private readonly IEndpointInstance _messageEndpoint;
...