C# .Net 8 - forbind til JobannonceService (Eksempel)

Der er på denne side et eksempel på, hvordan man forbinder til JobannonceServicen ved brug af C# .Net 8 kode, hvor flere dele af koden skal udskiftes med andre værdier på blandet andet de kommentarer og variabler, som indgår i koden.

Eksemplet er utroligt simplificeret og peger direkte på “GetVisninger“ endpointet og bør derfor tilrettes efter best practise før brug i produktion.

Der er ligeledes ikke lavet nogle klasser til at håndtere det afsendte eller modtagne data fra servicen og aftager bør overveje at bruge værktøjer til at generere disse ud fra værktøjer som https://swagger.io/tools/swagger-codegen/
Swagger dokumentation for JobannonceServicen i Test (T4): https://virksomhedsindsatst4.startest.dk/swagger/index.html?urls.primaryName=Jobannonce%20V2

 

// Create a HttpClient with the certificate using System.Security.Cryptography.X509Certificates; using System.Text.Json; // Setup authorization by including a certificate in the HttpClient var httpClientHandler = new HttpClientHandler(); var certificateThumbprint = "9f68c4589b44ff8286702e63079f0e76f60e7d2f"; var store = new X509Store(StoreName.My, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadOnly); var certificate = store.Certificates.Find(X509FindType.FindByThumbprint, certificateThumbprint, validOnly: false)[0]; httpClientHandler.ClientCertificates.Add(certificate); var httpClient = new HttpClient(httpClientHandler); // API endpoint URL const string apiUrl = "https://virksomhedsindsatst4.startest.dk/v2/Jobannonce/visninger?fraDato=2024-01-01"; // Add headers to the request httpClient.DefaultRequestHeaders.Add("x-activeOrganisation", "{\"OrganisationType\":24,\"OrganisationCode\":\"Portal CVR\"}"); httpClient.DefaultRequestHeaders.Add("x-requestUserMetadata", "{\"RequestUserStructure\":{\"UserFullName\":\"Full Name\",\"RequestUserType\":3,\"UserIdentifier\":\" \",\"Email\":\"test@test.dk\"},\"RequestOrganisationStructure\":{\"OrganisationType\":24,\"OrganisationCode\":\"Portal bruger CVR\"},\"RegistrationDateTime\":\"2023-07-12T09:41:38\"}"); try { // Make a GET request with the ID parameter var response = await httpClient.GetAsync($"{apiUrl}"); response.EnsureSuccessStatusCode(); // Read the response content as JSON var responseContent = await response.Content.ReadAsStringAsync(); dynamic jsonResponse = JsonSerializer.Deserialize<dynamic>(responseContent); // Use the jsonResponse object as needed // ... Console.WriteLine("API call successful!"); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); }