小编aaj*_*aaj的帖子

如何从go*gin.context对象获取所有查询参数

我正在查看https://godoc.org/github.com/gin-gonic/gin一个方法的文档,该方法返回传递的所有查询参数的列表.有一些方法可以返回查询参数的值.是否有任何方法返回传递的所有查询参数的列表?如果我们没有获得价值,那就没关系.我使用以下代码获取查询参数的值.但是此代码只能检查查询参数是否存在.

func myHandler(c *gin.Context) {

    // check for query params
    if queryParam, ok := c.GetQuery("startingIndex"); ok {
        if queryParam == "" {
            c.Header("Content-Type", "application/json")
            c.JSON(http.StatusNotFound,
                gin.H{"Error: ": "Invalid startingIndex on search filter!"})
            c.Abort()
            return
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

go go-gin

7
推荐指数
3
解决办法
1万
查看次数

在golang中只设置一次全局变量

我有一个main.go文件,其中包含:

// running the router in port 9000
func main() {
    router := routers.InitApp()
    router.RunTLS(":9000" , "domain.crt" , "domain.key")
}
Run Code Online (Sandbox Code Playgroud)

在我的另一个gofile

package utils
var ConfigMap = GetAppConfig
func GetAppConfig() map[string]string{
 ....//
}
Run Code Online (Sandbox Code Playgroud)

ConfigMap是一个全局变量,每次我尝试访问utils.ConfigMapmap时GetAppConfig都会调用该函数.如何通过应用程序初始化然后在go项目中访问任何我想要的ConfigMap,我只能调用此函数一次.

go

6
推荐指数
1
解决办法
1万
查看次数

c.BindJSON带有可选参数

我正在使用go-gin并尝试实现PATCH API.3个字段是可编辑的,所以我有一个像这样定义的结构

type Person struct {
    Name         string  `form:"name" json:"name" binding:"required"`
    Account      string  `form:"account" json:"account" binding:"required"`
    PrimaryOwner string  `form:"primary_owner" json:"primary_owner" binding:"required"`
}
Run Code Online (Sandbox Code Playgroud)

我试图像这样绑定json:

var json Person
if c.BindJSON(&json) == nil {
        fmt.Println("json matched!!!!!!!")
    }else {
        fmt.Println("json not matched!!!!!!!")
}
Run Code Online (Sandbox Code Playgroud)

问题是它试图绑定所有参数.如果我给出所有参数它会匹配,但即使缺少一个参数,它也会进入else块.在补丁API中我不想强制绑定.如果我binding:"required"从所有字段中删除它总是匹配,即使我给了一些关键字sdfsdfsdf.如何绑定所有参数但不能全部绑定.应验证json请求体中的密钥,但不应同时需要所有密钥.

rest go

6
推荐指数
1
解决办法
1300
查看次数

如何生成没有破折号的uuid

我正在创建一个具有以下表定义的表

CREATE TABLE auth(
    id                  UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    role                VARCHAR(64)
);
Run Code Online (Sandbox Code Playgroud)

生成的 uuid 的形式是a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11我知道 postgres 也接受不带连字符的 uuid。我们如何指定自动生成的 uuid 中不包含连字符?

postgresql

6
推荐指数
1
解决办法
8799
查看次数

如何使用jQuery追加HTML

我正在使用构建HTML元素

$(this).html(' my html here');
Run Code Online (Sandbox Code Playgroud)

我需要在这里添加许多不同的CSS元素.所以我想要的是我应该能够在这里添加另一个HTML

$(this).html(' my html here');
$(this).html.append(' another html here');
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

html jquery

5
推荐指数
2
解决办法
1万
查看次数

有什么办法知道表中的最后一个提交值?

我正在使用Postgres 9.5。如果我更新某行的某些值并提交,那么以后有什么方法可以获取旧值?我在想是否有类似闪回的内容?但这将是选择性的闪回。我不想回滚整个数据库。我只需要还原一行。

postgresql

5
推荐指数
1
解决办法
275
查看次数

下载 EC2 实例的镜像

我有一个正在运行的亚马逊 EC2 实例。如何在本地下载虚拟机​​的映像,以便将其导入到其他云平台中。我正在为虚拟机使用 RHEL 7.3 免费套餐映像。该映像是否包含我的虚拟机上的所有数据?

amazon-ec2 amazon-web-services

5
推荐指数
1
解决办法
1万
查看次数

RHEL:此系统目前尚未设置为构建内核模块

我试图在RHEL 7 VM上安装virtualbox5.2当我尝试重建内核模块时,我收到以下错误:

[root@myserver~]# /usr/lib/virtualbox/vboxdrv.sh setup
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    kernel-devel kernel-devel-3.10.0-693.11.1.el7.x86_64
Run Code Online (Sandbox Code Playgroud)

我尝试安装kernet-devel并获得成功消息

Installed:
  kernel-devel.x86_64 0:3.10.0-693.21.1.el7                                     

Complete!
Run Code Online (Sandbox Code Playgroud)

但仍然安装失败.

知道这里缺少什么吗?

redhat virtualbox rhel7

5
推荐指数
3
解决办法
4万
查看次数

如何将文件从一个命名空间中的 pod 复制到另一个命名空间中的 pod

kubectl 是否提供了一种将文件从一个命名空间中的 pod 复制到另一个命名空间的方法?我看到我们可以将文件从 pod 复制到本地机器,然后将它们复制到不同命名空间的另一个 pod 上。但是我们可以直接从一个命名空间复制到另一个命名空间吗?

我试过:

kubectl cp <namespace1>/<pod1>:/tmp/foo.txt <namespace2>/<pod1>:/tmp/foo.txt

查看kubectl cp命令帮助选项,我认为没有任何方法可以做到这一点。

kubernetes kubectl

5
推荐指数
1
解决办法
1747
查看次数

如何将接口{}转换为* rsa.PublicKey golang类型

我将公钥存储在类型为interface {}的变量中

-----BEGIN PUBLIC KEY-----    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdlatRjRjogo3WojgGHFHYLugdUWAY9iR3fy4arWNA1KoS8kVw33cJibXr8bvwUAUparCwlvdbH6dvEOfou0/gCFQsHUfQrSDv+MuSUMAe8jzKE4qW+jK+xQU9a03GUnKHkkle+Q0pX/g6jXZ7r1/xAK5Do2kQ+X5xK9cipRgEKwIDAQAB
-----END PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以将其转换为golang中的* rsa.PublicKey类型。它可能涉及一些中间步骤,例如可能先将interface {}转换为字符串。

go

4
推荐指数
1
解决办法
2848
查看次数