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 API Code & Client Generator | 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}");
}