L'éditeur PHP Baicao vous présente comment le type de données datatypes.JSON de go est décrit dans la spécification openAPI. Dans la spécification openAPI, Schema Object est utilisé pour décrire les types de données. Pour le type de données datatypes.JSON en go, il peut être décrit en utilisant le type comme "string" et le format comme "json". Cela vous permet de spécifier explicitement le type de données du champ sous forme de chaîne au format JSON. De plus, vous pouvez également utiliser le champ d'exemple pour fournir des exemples de valeurs afin d'aider les développeurs à mieux comprendre la structure et l'utilisation de ce type de données. Grâce à une utilisation raisonnable de la spécification openAPI, le type de données datatypes.JSON en cours peut être décrit avec précision, fournissant aux développeurs des documents d'interface clairs et des définitions de types de données.
J'ai un projet de golang-gin. Il existe une telle structure :
type Value struct { gorm.Model QuesAns datatypes.JSON json:"ques_ans" }
QuesAns doit contenir un JSON de l'un de ces trois types.
"ques_ans": { "receiver.ques": [ "Q1", "Q2" ], "receiver.ans": [ "Ans1", "Ans2", "Ans3" ] }
"ques_ans": { "id": "1", "receiver.sid": "2743dfjfh87", "receiver.ques": [ "Q1", "Q2", "Q3" ] }
"ques_ans": { "receiver.ques_key": [ "1", "2" ], "receiver.ans_key": [ "13", "20" ] }
Comment décririez-vous l’intégration de la spécification Open API ?
J'ai essayé plusieurs types mais je n'ai pas pu tous les synchroniser car JSON peut être de types différents et seuls ces trois types fonctionnent.
D'accord ! Voici comment je l'ai résolu :
components: schemas: Value: type: object properties: ques_ans: oneOf: - $ref: '#/components/schemas/Type1' - $ref: '#/components/schemas/Type2' - $ref: '#/components/schemas/Type3' Type1: type: object properties: receiver.ques: type: array items: type: string receiver.ans: type: array items: type: string Type2: type: object properties: id: type: string receiver.sid: type: string receiver.ques: type: array items: type: string Type3: type: object properties: receiver.ques_key: type: array items: type: string receiver.ans_key: type: array items: type: string
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!