l'éditeur php Yuzai vous présente une méthode pour importer une structure en JSON et la renommer, c'est-à-dire en utilisant le mot-clé "GO". En JSON, nous devons souvent utiliser une structure définie, mais nous devons parfois la renommer pour répondre à des besoins spécifiques. Grâce au mot-clé « GO », nous pouvons renommer la structure lors de son importation pour mieux répondre à nos besoins. Cette méthode est simple et facile à utiliser, nous permettant de traiter les données JSON de manière plus flexible. Voyons ensuite les étapes spécifiques !
J'ai créé une base de données en utilisant gorm. Pour ce faire, j'ai créé une structure et créé une table en utilisant cette structure. Jusqu'ici, tout va bien. Sur le backend, tout fonctionne bien, mais sur le frontend, le problème est que l'appel json renvoie toujours un identifiant en majuscule, tandis que swagger génère un identifiant en minuscule. Existe-t-il un moyen de remplacer une structure importée de gorm à l'aide d'un identifiant json ?
import "gorm.io/gorm" type report struct { gorm.model createdby user `gorm:"foreignkey:createdbyuserid" json:"createdby"` archived bool `json:"archived"` }
Cette structure me donne la réponse suivante
{ "ID": 8, "CreatedAt": "2022-11-15T20:45:16.83+01:00", "UpdatedAt": "2022-12-27T21:34:17.871+01:00", "DeletedAt": null "createdBy": { "ID": 1, "CreatedAt": "2022-11-15T20:02:17.497+01:00", "UpdatedAt": "2022-11-15T20:02:17.497+01:00", ... }, "archived": true, }
Existe-t-il un moyen de mettre l'identifiant en minuscule (comme archived
) ? Ou je pourrais l'ajuster dans swaggo pour qu'il soit généré en majuscules.
Ce que je vois, c'est que vous pouvez créer le tableau sans cela gorm.model
et définir vous-même toutes les propriétés. Le problème est que je dois créer moi-même toutes les fonctionnalités de ces colonnes (suppression, mise à jour, index, clé primaire...).
Je crée ma propre structure gorm-model-struct :
type gormmodel struct { id uint `gorm:"primarykey" json:"id"` createdat time.time `json:"createdat"` updatedat time.time `json:"updatedat"` deletedat gorm.deletedat `gorm:"index" json:"deletedat"` } //@name models.gormmodel
J'ai importé cette structure dans d'autres structures :
type Report struct { GormModel CreatedBy User `gorm:"foreignKey:CreatedByUserID" json:"createdBy"` Archived bool `json:"archived"` }
Il est important d'ajouter json-key et de définir le nom de la propriété.
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!