Bonjour,
J'essaie de consommer un service REST dont voici la description :
https://developers.lucca.fr/fr/api/d...ts/departments
En soit, rien de bien compliqué.
Pour se faire, je suis un exemple de Microsoft :
https://docs.microsoft.com/en-us/dot...e-webapiclient
J'arrive bien à la fin du tuto sans problème.
Sauf que pour mettre les deux en musique, c'est moins simple...
En effet, si le webservice du tuto renvoie une liste d'objet "simple", mon webservice ici me renvoie plusieurs objets.
Et force est de constater qu'une fois que mon objet est désérialisé (sans erreur) j'ai que des "null" dans mes propriétés...
Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 public static async Task<List<Department>> GetDepartments() { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*")); client.DefaultRequestHeaders.Add("Authorization", $"Lucca application={api_key}"); var streamTask = client.GetStreamAsync(string.Concat(url, Department.PATH)); var departmentresponse = await JsonSerializer.DeserializeAsync<Department.DepartmentResponse>(await streamTask); return departmentresponse.Data.Items.ToList(); } using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; namespace FiggoSync { internal class Department { public const string PATH = "/api/v3/departments"; /* "id":11, "name":"Support", "url":"https://sandbox.ilucca-demo.net/api/v3/departments/11" */ [JsonPropertyName("id")] public int? Id; [JsonPropertyName("name")] public string? Name; internal class DepartmentResponse { [JsonPropertyName("header")] public Header? Header; [JsonPropertyName("data")] public Data? Data; } internal class Header { [JsonPropertyName("generated")] public DateTime? Generated; } internal class Data { [JsonPropertyName("items")] public Department[]? Items; } } }
Une idée de ce qu'il faut que je modifie pour que ça veuille bien marcher ?
Partager