Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
9 posts found #API Tasarımı
Authentication and Authorization: The Difference Between Identity Verification and Permission
Backend PART 19

Authentication and Authorization: The Difference Between Identity Verification and Permission

We separate two concepts most developers confuse: authentication (who are you?) and authorization (what are you allowed to do?). The difference, the correct order, and how these are positioned in .NET.

15 Aug 2026 11 min 43
API Versioning: Evolving Your API Without Breaking Old Clients
Backend PART 18

API Versioning: Evolving Your API Without Breaking Old Clients

We cover how not to break old clients while evolving the API over time: what a breaking change is, why versioning is needed, the URL/header/query methods, and setting up versioning in .NET.

15 Aug 2026 12 min 119
Configuration and the Options Pattern: appsettings Layers and Separating Settings from Code
Backend PART 15

Configuration and the Options Pattern: appsettings Layers and Separating Settings from Code

We cover separating settings from code: appsettings files and environment layers, managing connection strings safely, reading settings with strong types via the Options pattern, and keeping secrets out of code.

8 Aug 2026 12 min 69
Global Error Handling: Catching All Errors in a Single Place
Backend PART 13

Global Error Handling: Catching All Errors in a Single Place

We cover catching unexpected errors from anywhere in the app in a single place: escaping scattered try-catch blocks, setting up exception middleware, and returning a clean, safe response to the user.

8 Aug 2026 12 min 56
What Is a DTO and Why Shouldn't We Return the Entity Directly?
Backend PART 07

What Is a DTO and Why Shouldn't We Return the Entity Directly?

We cover what DTOs are and why you shouldn't return database objects directly: the concrete benefits of using DTOs for security, privacy, flexibility, and contract stability.

2 Aug 2026 11 min 100
Model Binding: Binding Request Data to Your Method (Route, Query, Body, Header)
Backend PART 06

Model Binding: Binding Request Data to Your Method (Route, Query, Body, Header)

We cover how .NET automatically binds request data to your method parameters: reading from the route, query string, body and headers, attributes like [FromBody], and common mistakes.

26 Jul 2026 11 min 78
Writing Your First Controller: Routing, Attributes and Action Methods
Backend PART 04

Writing Your First Controller: Routing, Attributes and Action Methods

We write our first real controller. How routing works, what attributes do, how action methods are built, and how an incoming request reaches the right method, step by step.

25 Jul 2026 11 min 92
Controllers or Minimal APIs? When to Choose Which
Backend PART 03

Controllers or Minimal APIs? When to Choose Which

We compare two ways of writing endpoints in .NET 9: controller-based structure and Minimal APIs. When each makes sense and what the real difference is, made clear with examples.

25 Jul 2026 10 min 129
Setting up the initial project: project structure, Program.cs, and a minimal hosting model.
Backend PART 02

Setting up the initial project: project structure, Program.cs, and a minimal hosting model.

We set up our first .NET 9 Web API project. We break down Program.cs line by line, and understand the minimal hosting model, the builder-versus-app split, and why middleware order matters.

5 Jul 2026 11 min 151
Blog Map