MSON ne prend pas en charge la spécification des options de validation comme une longueur maximale au moment. L'équipe API Blueprint a exploré l'ajout de ces fonctionnalités, mais cela reste ouvert à la discussion sur la meilleure façon d'y parvenir. Il pourrait y avoir beaucoup de validations, c'est donc un sujet important à couvrir, nous aurons donc besoin de trouver un moyen clair d'exprimer des validations, ce qui offre un support futur pour la déclaration afin que cela puisse évoluer. Il y a une discussion ouverte sur https://github.com/apiaryio/mson/issues/43 sur le sujet. Si vous avez des idées ou des propositions de syntaxe, ils seraient grandement appréciés.
Actuellement, vous pouvez fournir un schéma JSON personnalisé qui spécifie vos options de validation. À titre d'exemple, vous pouvez réaliser cette validation à l'aide du Plan directeur de l'API suivante:
+ Response 200 (application/json)
+ Attributes
+ tokenType: Bearer (fixed) - The type of access token that was issued.
+ expiresIn: 1000 (number) - How much time in seconds until the token expires.
+ accessToken: `0.AQAAAVF-mqsiAAAAAAAbd0A71bIG8IUwcgHV7mAYiG7J.EAAQsWDnpqRj7WwyFVLTsdo0yXWh9L4` (string) - The access token to pass in the API call to access the protected resource.
+ Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"tokenType": {
"type": "string",
"enum": [
"Bearer"
]
},
"expiresIn": {
"type": "number"
},
"accessToken": {
"type": "string",
"maxLength": 20
}
},
"required": [
"tokenType"
]
}
Je suis d'accord, cette solution n'est pas grande puisque vous aurez besoin de dupliquer des informations dans vos attributs MSON et le schéma lui-même. Il serait beaucoup plus d'idée de pouvoir spécifier la validation directement dans MSON.
Je voulais juste mentionner, vous pouvez utiliser fixed
pour tokenType
pour indiquer qu'il a une valeur fixe qui ne change pas. Vous pouvez également utiliser enum
dans le futur pour autoriser plusieurs options tokenType
.
+ 1 merci, j'ai pensé autant mais j'ai pensé que je demanderais. Dans l'attente de voir MSON évoluer pour soutenir cela à l'avenir. Pour l'instant, je peux simplement ajouter les structures d'objets dans la documentation de référence comme je l'ai fait dans le passé. Pouvoir utiliser utiliser la structure MSON dans la section d'introduction serait également utile. Peut voir cette API comme un exemple: http://paysafegroup.github.io/neteller_rest_api_v1/#/introduction/complex-json-objects –