Afficher les derniers auteurs
1 Les services REST produits avec Adélia Studio peuvent être visualiser/tester via SwaggerUI (qui est embarqué par défaut dans la webapp Adélia). SwaggerUi : [[https://swagger.io/swagger-ui/>>url:https://swagger.io/swagger-ui/]]
2
3 Par défaut, les apis sont regroupées par programme/classe ; l'ordre d'affichage est celui défini par le "scan" des classes.
4 (((
5 === A. Regroupement ===
6 )))
7
8 Toutes les apis d'un service sont regroupées par défaut dans le même 'GroupName', celui défini implicitement ou explicitement via l'ordre : SW_CONFIGURER ***SERVICE _WS_REST_SWAG_DESCRIPTION** 'GroupName'.
9 Toutes les apis des services référençant le même //GroupName//// //sont regroupées.
10
11 A partir d'Adélia Studio 13 PTF08, l'ordre SW_CONFIGURER s'enrichit de l'attribut **_WS_REST_SWAG_TAGS**.
12 Désormais les apis/opérations d'un même service peuvent être regroupées dans des groupes distincts.
13 L'ordre SW_CONFIGURER *SERVICE **_WS_REST_SWAG_DESCRIPTION** 'DescGroupName1,DescGroupName2' permet alors d'associer une description à chacun des noms de groupe.
14
15 Exemples :
16
17
18 {{code language="adelia"}}
19 SW_CONFIGURER ***SERVICE** **_WS_REST_SWAG_TAGS** 'GROUP1,GROUP2,GROUP3,..'
20 SW_CONFIGURER ***SERVICE** **_WS_REST_SWAG_DESCRIPTION** 'Les éléments du groupe1,Ceux du groupe2,Je mettrais bien ceux là dans le groupe3,..'
21 {{/code}}
22
23
24 Permet de définir les groupes/tags du service.
25
26
27 {{code language="adelia"}}
28 SW_CONFIGURER ***OPERATION** **_WS_REST_SWAG_TAGS** 'GROUP1'
29
30 SW_CONFIGURER ***OPERATION** **_WS_REST_SWAG_TAGS** 'GROUP1,GROUP3'
31 {{/code}}
32
33
34 Permet d'affecter une api/opération à un (ou plusieurs) groupe(s)/tag(s).
35
36 (((
37 === B. Ordre ===
38 )))
39
40 L'ordre d'affichage des classes/groupes peut être modifié a posteriori en modifiant le fichier //swagger.html// : définition de la propriété **//apisSorter//** de l'objet SwaggerUI
41
42
43 {{code language="js" language="js"}}
44 window.swaggerUi = new SwaggerUi({
45 ...
46 apisSorter: "alpha",
47 operationsSorter: function (a, b) {
48 var order = { 'get': '0', 'post': '1', 'put': '2', 'delete': '3' };
49 return order[a.method].localeCompare(order[b.method]);
50 },
51 ...
52 })
53 {{/code}}
54
55
56
57 La propriété **//apisSorter//** permet de trier les apis par groupe/classe, la propriété **//operationsSorter//** permet de trier les opérations (HTTP) :
58
59 - la valeur "alpha" permet d'obtenir un tri alphabétique.
60
61 - la fonction function(a,b) permet d'obtenir un tri en regard des valeurs retournées par la fonction de comparaison.
62
63
64
65
66 ou depuis Adelia Studio 13.9 (Cf. [[https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md>>url:https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md]]), en modifiant le fichier //index.html// de l'archive swagger-ui-3.x.y
67
68
69 {{code language="js" title="index.html" language="js"}}
70 const ui = SwaggerUIBundle({
71 url: ...,
72 dom_id: '#swagger-ui',
73 operationsSorter:{
74 var order = { 'get': '0', 'post': '1', 'put': '2', 'delete': '3' };
75 return order[a.method].localeCompare(order[b.method]);
76 },
77 tagsSorter:'alpha',
78 ...
79 })
80 {{/code}}
81
82
83
84
85