如何创建单个文件来处理vercel无服务器功能的所有路由?
默认情况下,它使用内置的处理程序,是否有任何方法可以使用gin模块进行同样的操作?
package handler
import "github.com/gin-gonic/gin"
/* get the post data and send the same data as response */
func Hi(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello World!",
})
}
我正在用go编写一个简单的REST,使用gin。我读过许多关于在go中减少错误处理的帖子和文本,但我似乎无法思考如何用gin处理程序来处理错误。
我的服务所做的就是对数据库运行一些查询,并以JSON的形式返回结果,因此典型的处理程序如下所示
func DeleteAPI(c *gin.Context) {
var db = c.MustGet("db").(*sql.DB)
query := "DELETE FROM table WHERE some condition"
tx, err := db.Begin()
if err
我正在查看https://godoc.org/github.com/gin-gonic/gin文档中的一个方法,该方法返回所有传递的查询参数的列表。有一些方法可以返回查询参数的值。有没有什么方法可以返回所有传递的查询参数的列表?如果我们得不到值也没关系。我使用以下代码获取查询参数的值。但是这段代码只能检查查询参数是否存在。
func myHandler(c *gin.Context) {
// check for query params
if queryParam, ok := c.GetQuery("startingIndex"); ok {
我对golang还不熟悉,我正在尝试构建rest,到目前为止,GET端点对我来说还不错,但是我在POST方法(创建用户)方面遇到了困难:
我的用户结构就是这样的:
type User struct {
ID uint32 `gorm:"primary_key;auto_increment" json:"id"`
Name string `json:"name" binding:"required"`
Email string `json:"email
我正试图在golang上编写一个restful。对于http路由器,我使用gin-gonic,与我使用gorm的数据库进行交互。包装主
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
)
var db *gorm.DB
type Person struct {
ID uint `json:
我有一个带有模式的表,该表有一个json字段。该文件已经填充了大量数据。
CREATE TABLE table(
id UUID NOT NULL
data JSON NOT NULL
);
我想为json字段创建一个索引。我试过下面的脚本
__table_args__ = (
Index("index_table_on_data_gin",
"data",
postgresql_using=&
我有一个用golang gin framework编写的应用程序。我想编写一个中间件来定制所有错误消息,特别是在BindJSON的情况下。
下面是中间件:
func Errors() gin.HandlerFunc {
return func(c *gin.Context) {
c.Next()
// Only run if there are some errors to handle
if len(c.Errors) > 0 {
for _, e := range c.Errors {
在golang中有一个可以自定义json结构的gin框架:
authorized.GET("/secrets", func(c *gin.Context) {
// get user, it was set by the BasicAuth middleware
user := c.MustGet(gin.AuthUserKey).(string)
if secret, ok := secrets[user]; ok {
c.JSON(http.StatusOK, gin.H{"user": user, "secr
我想要创建一个函数来处理各种形式。我希望它能够处理任何类型的数据类型。我试图使用一个界面来完成这个任务。
type Person struct {
name string
lastName string
}
func HTMLForm(c *gin.Context) {
var f Person
c.ShouldBind(&f)
c.JSON(http.StatusOK, f)
}
// with this function i get the correct info
// output: {"name
我无法找到在UNIX中正确执行此代码的方法:
package main
import (
"time"
"github.com/gin-gonic/gin"
"net/http"
)
type Things struct {
Name string `json:"name"`
OneDay time.Time `json:"oneDay"`
}
type Example struct {
Things []Things `json:"things"`
Somethi