您的位置:首页 > 汽车 > 时评 > go 针对 time类型字段,前端查询,后端返回数据格式为UTC时间

go 针对 time类型字段,前端查询,后端返回数据格式为UTC时间

2024/11/17 21:39:16 来源:https://blog.csdn.net/qq_36940806/article/details/139333457  浏览:    关键词:go 针对 time类型字段,前端查询,后端返回数据格式为UTC时间

测试代码

package mainimport ("context""log""net/http""time""github.com/gin-gonic/gin""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/bson/primitive""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options"
)type Event struct {ID        primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`Name      string             `bson:"name" json:"name"`Timestamp time.Time          `bson:"timestamp" json:"timestamp"`
}var collection *mongo.Collectionfunc init() {clientOptions := options.Client().ApplyURI("mongodb://127.0.0.1:27017/test")client, err := mongo.Connect(context.Background(), clientOptions)if err != nil {log.Fatal(err)}err = client.Ping(context.Background(), nil)if err != nil {log.Fatal(err)}collection = client.Database("test").Collection("events")
}func createEvent(c *gin.Context) {var event Eventif err := c.ShouldBindJSON(&event); err != nil {c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})return}event.Timestamp = time.Now().Local()insertResult, err := collection.InsertOne(context.Background(), event)if err != nil {c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})return}c.JSON(http.StatusOK, insertResult)
}func getEvents(c *gin.Context) {cur, err := collection.Find(context.Background(), bson.D{})if err != nil {c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})return}defer cur.Close(context.Background())var events []Eventfor cur.Next(context.Background()) {var event Eventerr := cur.Decode(&event)if err != nil {c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})return}events = append(events, event)}if err := cur.Err(); err != nil {c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})return}c.JSON(http.StatusOK, events)
}func main() {r := gin.Default()r.POST("/events", createEvent)r.GET("/events", getEvents)r.Run(":8080")
}

测试接口

  • 添加数据
    在这里插入图片描述

  • 查询数据
    在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com