-
Notifications
You must be signed in to change notification settings - Fork 11
/
api-swagger.txt
107 lines (101 loc) · 3.55 KB
/
api-swagger.txt
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
---
swagger: '2.0'
################################################################################
# API Information #
################################################################################
info:
version: "1.0"
title: API IoT - Capgemini Development Challenge
description: Rendez-vous sur http://editor.swagger.io/ pour générer le code serveur. Le script d'injection Gatling séquencera écritures et lectures. 10 injecteurs simultanés injecterons 10 000 messages chacuns, soit 100 000 messages au total.
contact:
name: Ludovic Toinel
url: https://www.yammer.com/capgemini.com/#/Threads/show?threadId=682664973
email: ludovic.toinel@capgemini.com
# during dev, should point to your local machine
host: 192.168.1.1
# basePath prefixes all resource paths
basePath: /
#
schemes:
# tip: remove http to make production-grade
- http
# format of bodies a client can send (Content-Type)
consumes:
- application/json
# format of the responses to the client (Accepts)
produces:
- application/json
paths:
/messages:
post:
description: Service d'acquisition de messages provenant d'objets connectés
responses:
200:
description: Réception du message en succés.
parameters:
- name: message
description: Message transmis par l'objet connecté.
in: body
schema:
$ref: '#/definitions/message'
/messages/synthesis:
get:
description: Service fournissant une synthèse des données sur les x secondes passées en paramètre à partir du timestamp fourni
responses:
200:
description: successful operation
schema:
type: array
items:
$ref: '#/definitions/synthesis'
parameters:
- name: timestamp
in: query
type: string
format: date-time
description: Timestamp du début de calcul de la synthèse (iso celui transmis dans les messages)
required: true
- name: duration
in: query
description: Durée pour laquelle la synthèse doit être calculée (en secondes)
type: integer
format: int32
required: true
definitions:
message:
type: object
properties:
id:
type: string
description: Identifiant unique du message envoyé par le capteur, un controle des doublons doit être effectué (max 64 chars).
timestamp:
type: string
format: date-time
description: Horaire de la fabrication du message par le capteur (format RFC3339). Ce timestamp fait fois lors calcul de la synthèse.
sensorType:
type: integer
format: int32
description: Type de capteur à l'origine de l'emission du message.
value:
type: integer
format: int64
description: Valeur transmise par le capteur.
synthesis:
type: object
properties:
sensorType:
type: integer
format: int32
description: Type de capteur à l'origine de l'emission du message.
minValue:
type: integer
format: int64
description: Valeur minimum transmise par ce type de capteur.
maxValue:
type: integer
format: int64
description: Valeur maximale transmise par ce capteur type de capteur.
mediumValue:
type: number
format: float
description: Valeur moyenne des données transmises par ce type de capteur arrondie à deux décimales