evolving-engineer.hashnode.devSOLID Principles: Applying Single Responsibility Principle to Real-World Code1. Introduction Ever wondered why you found yourself modifying the same class to accommodate unrelated features? Imagine having a class responsible for processing invoices, but over time, it has become the go to class to fix issues related to databas...Sep 30, 2024·9 min read
evolving-engineer.hashnode.devStore Your App Configurations with Environment Variables: A Quick GuideIntroduction NOTE – Storing secrets in environment variables is not a security feature, in fact it is an approach to keep your secrets separate from your codebase. Browse the answers of this Stackoverflow question for details about security in enviro...Sep 24, 2024·3 min read
evolving-engineer.hashnode.devUsing Result Filter and Exception Middleware (3/3)1. Introduction In this article, I will describe how one can use a custom result filter and exception middleware to handle model-validation errors and exceptions (custom as well as framework exceptions). For the complete code, see the project: ViaFil...Jul 9, 2023·6 min read
evolving-engineer.hashnode.devUsing Custom "ProblemDetailsFactory" (2/3)This article shows, how one can return a structured response from an ASP.NET web API in case of errors (exceptions & model validations). One way to do that is by using custom ProblemDetailsFactory. 1. What is ProblemDetailsFactory? ProblemDetailsFact...Jul 4, 2023·6 min read
evolving-engineer.hashnode.devA Short Intro to "ProblemDetails" (1/3)1. Definition For in-depth knowledge, visit: Problem Details for HTTP APIs by the Internet Engineering Task Force (IETF). This definition is borrowed from the article linked before: ProblemDetails is a way to carry, machine-readable details of error...Jun 9, 2023·3 min read