ICode9

精准搜索请尝试: 精确搜索
  • golang、gin、gorm、casbin访问权限控制2022-06-29 01:03:01

    Casbin configuration rbac_model.conf [request_definition] r = sub, obj, act [policy_definition] p = sub, obj, act [role_definition] g = _, _ [policy_effect] e = some(where (p.eft == allow)) [matchers] m = g(r.sub, p.sub) && r.obj == p.obj &

  • [go-每日一库] golang validator参数校验2022-06-23 10:33:06

    1.validator简介 validator是一个开源的验证器包,可以快速校验输入信息是否符合自定规则。源码地址: https://github.com/go-playground/validator 本地开发安装库: go get github.com/go-playground/validator 2.常用示例 例如我们使用golang的gin框架进行web server的开发,对于传

  • Go入门到精通2022-06-20 19:00:36

    1-Go基础 1-Golang基础--Go简介、环境搭建、变量、常量与iota、函数与函数高级 2-Golang基础--包的使用、if-else语句、循环、switch语句、数组、切片、可变函数参数、map类型 3-Golang基础--字符串使用、指针、结构体、方法、结构体取代Python类、接口基础 4-Golang基础-- 接口基

  • 迁移Go mod使用笔记2022-06-20 11:03:37

    go mod包管理 基本每个语言都有自己的包管理工具,node的npm,yarn;Python pipenv,venv;Java的maven等等,go 当然也有自己的包管理工具 mod(Modules简写) 参考链接 官方github https://github.com/golang/go/wiki/Modules#how-to-use-modules 官方文档 https://blog.golang.org/using

  • gin模板语法2022-06-18 16:04:04

    输出数据: 语句:{{.}} 用法: 在html文件中调用    输出里面的结果    多个目录下定义模板: 语句:{{ define "xxx目录/xxx文件.html"}}           文件末尾加上     {{  end  }}    用法:        当使用多级目录时要设置如下,/**表示下一级目录。    比较

  • gin单元测试启动服务后测试controller接口2022-06-17 10:02:57

    1、使用的包是 net/http/httptest  2、单元测试需要启动 gin 服务,然后 httptest.NewRequest 发送请求 示例代码: mkdir gin cd gin go mod init example.com go get github.com/gin-gonic/gin gp get github.com/stretchr/testify 创建 web 控制器 cd gin mkdir controller

  • go+gin设置服务的cors2022-06-16 10:33:39

    package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 设置全局跨域访问 r.Use(CrosHandler()) err :=r.Run(":8887") if err!=nil{ fmt.Println("error")

  • [go-每日一库] golang viper实现动态配置更新2022-06-10 14:31:32

    viper库下载: go get -u github.com/spf13/viper 代码结构: . +--- config | +--- config.go | +--- config.yaml +--- go.mod +--- go.sum +--- main.go config.yaml app: app1: timeout: 120 rpc: true compatible: true mysql: host: localhost port: 3

  • 「工具推荐」golang 代码可视化工具 go-callvis2022-06-01 10:31:33

    「工具推荐」go-callvis go-callvis是相对 以图片的形式展示了go程序的调用关系,这个工具在看复杂项目时尤其有用。 亲测,借助它看祖传golang代码,头痛好多了。 安装 go get -u github.com/TrueFurby/go-callvis # or git clone https://github.com/TrueFurby/go-callvis.git cd

  • 基于golang的swagger2022-05-29 15:00:24

    Swagger 相关的工具集会根据 OpenAPI 规范去生成各式各类的与接口相关联的内容,常见的流程是编写注解 =》调用生成库-》生成标准描述文件 =》生成/导入到对应的 Swagger 工具。   一般步骤: 1.按照swagger要求给接口代码添加声明式注释 2.使用swag工具扫描代码自动生成api接口文

  • 3_请求参数绑定与多数据格式处理.md2022-05-26 10:35:08

    Gin请求参数绑定与多数据格式处理 目录Gin请求参数绑定与多数据格式处理表单实体绑定(参数绑定)ShouldBindQuery()ShouldBind()ShouldBindJson()参数获取获取querystring参数获取form参数获取json参数Gin文件上传单文件上传多文件上传 表单实体绑定(参数绑定) ​ 使用PostForm这

  • 4_多数据格式返回请求结果.md2022-05-26 10:34:52

    多数据格式返回请求结果 来源:https://www.qfgolang.com/?special=ginkuangjia&pid=2927 目录多数据格式返回请求结果[]bytestringjsonmap类型结构体类型HTML模板加载静态资源文件重定向http重定向路由重定向 gin框架中,支持返回多种请求数据格式。 []byte ... engine := gin.Defaul

  • gin框架路由组源码剖析2022-05-22 12:03:35

    package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" "reflect" "runtime" ) func main() { r := gin.New() // 1. 添加中间件 r.Use(gin.Logger(), gin.Recovery()) // 2. 405支持 r.HandleMethod

  • gin框架路由源码分析-012022-05-18 23:02:45

    gin框架的路由结构剖析 路由是web框架的核心功能,在学习gin路由前,路由是这样的,比如定义了两个路由/user/get, /user/delete 则会构造出拥有三个节点的路由树,根节点是user,两个子节点分别是:get、delete 上述是一种实现路由的方式,且比较直观,容易理解,对url进行切分,比较,时间复杂度是O(

  • 青训营第二次课2022-05-16 13:34:40

    第二次课 项目里会报错gin,先安装gin框架,之后根据代码波浪线提示导入代码,删除import里多余的代码。 命令行 curl 127.0.0.1:8080/community/page/get/1 应该是我给项目文件夹配置了GOPATH,GoLand编译器里也可以用curl了 浏览器输入 http://127.0.0.1:8080/community/page/get/1 报

  • Azure DevOps (十三) 通过Azure Devops部署一个Go的Web应用2022-05-12 14:34:48

    前几篇文章中,我们分别实现通过azure来部署.NET和Springboot的应用,今天我们来研究一下如何部署一套Go的Web应用上去。 文章配套视频专栏: https://space.bilibili.com/38649342/channel/seriesdetail?sid=2267536 视频正在努力更新。 首先我们要先创建一个go的web项目,我这里使用的是

  • Day17 gin基础022022-05-11 22:00:46

    day17 20220502 01 前后端不分离   前后端分离     demo\index.html <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body><h3>这是一个首页页面</h3><

  • Day16 gin2022-05-04 17:04:21

      01 web应用程序介绍  数据库:存储数据的单元 前端:展示数据的单元   web层: 创建绑定 响应 这些功能都一样,重复。 业务层不一样,剔除业务层,其他的做成框架 只需填充业务代码即可 意义   用于搭建Web应用程序   免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业

  • Gin框架系列之中间件基础2022-05-04 16:31:20

    一、什么是中间件 开发者自定义的一些钩子函数,用于请求到达不同的地方进行拦截,做一些处理,比如: 登陆之前进行拦截,判断请求是否携带token 登陆之后进行权限校验 限流 ... 二、中间件的简单使用 如下: package main import ( "github.com/gin-gonic/gin" "net/http" ) fu

  • Gin框架系列之路由组2022-05-03 17:34:57

    一、什么是路由组 在前面中写入路由是只是单纯的这样使用: func main() { router := gin.Default() // 路由 router.GET("/login", Login) router.POST("/do_login", DoLogin) router.GET("/user", User) router.POST("/do_user"

  • 网络测试2022-05-03 15:32:19

    网络测试 如何使用httptest和gock工具进行网络测试。 而实际工作中的业务场景往往会比较复杂,无论我们的代码是作为server端对外提供服务或者还是我们依赖别人提供的网络服务(调用别人提供的API接口)的场景,我们通常都不想在测试过程中真正的建立网络连接。本文就专门介绍如何在上述两

  • Gin读取Vue 3编译文件报错2022-05-01 15:35:44

    简介:   Vue 3项目编译npm run build 编译后,Gin读取并运行,访问页面一片空白,并报以下错误:     Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/plain". Strict MIME type checking is enforced for m

  • Gin框架系列之数据绑定2022-04-17 14:02:42

    一、问题引出 如果通过前端向后端传递数据,你可能会这样进行接收: 1、前台 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/do_index" met

  • Gin框架系列之模板函数2022-04-17 10:32:58

    一、自带函数 (一)print系列 1、简介  在go语言中的fmt包中存在: Print系列 Sprint系列 那么它们之间的区别是什么呢? package main import "fmt" func main() { name := "lily" fmt.Print(name) // Print有打印结果,但是Sprint没有,可以有返回值,比如 res := fmt.Sprint

  • gin 使用gorilla 关闭 websocket 时候设置close code 和message2022-04-15 20:01:00

    gin 使用gorilla 时建立websocket的教程很多博客都有写,但是很少有人讲关闭websocket时自定义 close code 和message。主要是使用:websocket.FormatCloseMessage, WriteControl 两个方法 。可用close code 的范围见文档:https://developer.mozilla.org/zh-CN/docs/Web/API/CloseEvent#

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有