From bf98432e20ef69dc919bc9f7e1ba91426ba321c6 Mon Sep 17 00:00:00 2001 From: OlgunR Date: Mon, 11 May 2026 15:59:07 +0200 Subject: [PATCH] Refactor query string construction in GetAllAsync Refactored the GetAllAsync method to use a Dictionary and QueryHelpers.AddQueryString for building query strings, replacing manual string concatenation. This improves code clarity and reduces the risk of formatting errors. --- .../Services/MassDataApiClient.cs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs b/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs index e5c8cbf..ae7815c 100644 --- a/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs +++ b/DbFirst.BlazorWebApp/Services/MassDataApiClient.cs @@ -1,5 +1,6 @@ using DbFirst.BlazorWebApp.Models; using DbFirst.Contracts.MassData; +using Microsoft.AspNetCore.WebUtilities; namespace DbFirst.BlazorWebApp.Services; @@ -21,17 +22,11 @@ public class MassDataApiClient : IMassDataApiClient public async Task> GetAllAsync(int? skip, int? take, CancellationToken ct = default) { - var query = new List(); - if (skip.HasValue) - { - query.Add($"skip={skip.Value}"); - } - if (take.HasValue) - { - query.Add($"take={take.Value}"); - } + var query = new Dictionary(); + if (skip.HasValue) query["skip"] = skip.Value.ToString(); + if (take.HasValue) query["take"] = take.Value.ToString(); - var url = query.Count == 0 ? Endpoint : $"{Endpoint}?{string.Join("&", query)}"; + var url = QueryHelpers.AddQueryString(Endpoint, query); var result = await _httpClient.GetFromJsonAsync>(url, ct); return result ?? []; }