
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Remigiusz Zalewski | Become a Better .NET and AI Engineer</title>
      <link>https://remigiuszzalewski.com/blog</link>
      <description>Practical C#, .NET, ASP.NET Core and EF Core tutorials with code examples and video walkthroughs, from authentication and databases to Azure deployment and AI tools.</description>
      <language>en-us</language>
      <managingEditor>remigiuszzalewski.business@gmail.com (Remigiusz Zalewski)</managingEditor>
      <webMaster>remigiuszzalewski.business@gmail.com (Remigiusz Zalewski)</webMaster>
      <lastBuildDate>Fri, 24 Nov 2023 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://remigiuszzalewski.com/tags/web-api/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://remigiuszzalewski.com/blog/api-versioning-aspnet-core</guid>
    <title>API Versioning in ASP .NET Core</title>
    <link>https://remigiuszzalewski.com/blog/api-versioning-aspnet-core</link>
    <description>The moment an API has more than one consumer, changing a response shape becomes a breaking change for someone. URL-segment, query-string, and header-based versioning with Asp.Versioning.Http, and which one to actually pick.</description>
    <pubDate>Fri, 24 Nov 2023 00:00:00 GMT</pubDate>
    <author>remigiuszzalewski.business@gmail.com (Remigiusz Zalewski)</author>
    <category>.net</category><category>csharp</category><category>aspnetcore</category><category>api-versioning</category><category>rest</category><category>web-api</category>
  </item>

  <item>
    <guid>https://remigiuszzalewski.com/blog/how-to-setup-cors-dotnet-web-api</guid>
    <title>How to setup CORS in .NET Web API</title>
    <link>https://remigiuszzalewski.com/blog/how-to-setup-cors-dotnet-web-api</link>
    <description>A browser blocking your own API call isn&#39;t a bug in your code - it&#39;s CORS doing its job. Configuring named CORS policies correctly in ASP.NET Core, and why AllowAnyOrigin quietly breaks the moment you also need cookies or credentials.</description>
    <pubDate>Tue, 28 May 2024 00:00:00 GMT</pubDate>
    <author>remigiuszzalewski.business@gmail.com (Remigiusz Zalewski)</author>
    <category>.net</category><category>csharp</category><category>cors</category><category>aspnetcore</category><category>web-api</category><category>security</category>
  </item>

  <item>
    <guid>https://remigiuszzalewski.com/blog/memory-cache-in-dotnet</guid>
    <title>Memory cache in .NET</title>
    <link>https://remigiuszzalewski.com/blog/memory-cache-in-dotnet</link>
    <description>Slow external API calls and database queries are usually your bottleneck. Cache them with IMemoryCache - cache keys, absolute vs. sliding expiration, and a real example that drops a Commodities API call from seconds to a few milliseconds.</description>
    <pubDate>Wed, 16 Nov 2022 00:00:00 GMT</pubDate>
    <author>remigiuszzalewski.business@gmail.com (Remigiusz Zalewski)</author>
    <category>.net</category><category>csharp</category><category>caching</category><category>performance</category><category>imemorycache</category><category>web-api</category>
  </item>

  <item>
    <guid>https://remigiuszzalewski.com/blog/pagination-dotnet-react</guid>
    <title>Pagination in .NET &amp; React</title>
    <link>https://remigiuszzalewski.com/blog/pagination-dotnet-react</link>
    <description>Returning every row and letting the client slice it up doesn&#39;t survive real data volume. Server-side pagination in a .NET 8 Minimal API - Skip/Take, pagination metadata in a response header, and a React Pagination component wired to it.</description>
    <pubDate>Sat, 17 Feb 2024 00:00:00 GMT</pubDate>
    <author>remigiuszzalewski.business@gmail.com (Remigiusz Zalewski)</author>
    <category>.net</category><category>csharp</category><category>react</category><category>typescript</category><category>pagination</category><category>entity-framework</category><category>web-api</category>
  </item>

    </channel>
  </rss>
