Go Gin 프레임 워크에서 컨트롤러간에 데이터 공유 구현
이 기사에서는 GO GIN 프레임 워크에서 컨트롤러간에 데이터 공유를 구현하는 방법에 대해 설명합니다. GIN 프레임 워크의 데이터 공유는 주로 글로벌 공유 및 요청 내 공유의 두 가지 시나리오로 나뉩니다.
1. 글로벌 공유 변수
응용 프로그램 수명주기 동안 변경되지 않은 구성 정보에 적용 할 수 있습니다. 글로벌 변수를 사용하여 구현할 수 있습니다.
패키지 메인 수입 (수입) "github.com/gin-gonic/gin" )) var databaseaddress = "127.0.0.1:3306" var sitename = "내 웹 사이트" func main () { 라우터 : = gin.default () router.get ( "/test1", func (c *gin.context) { C.String (200, "데이터베이스 주소 : %s, 사이트 이름 : %s \ n", databaseaddress, siteName) }) router.get ( "/test2", func (c *gin.context) { C.String (200, "데이터베이스 주소 : %s, 사이트 이름 : %s \ n", databaseaddress, siteName) }) router.run ( ": 8080") }
모든 컨트롤러는 databaseAddress
및 siteName
직접 액세스 할 수 있습니다.
2. 요청 내의 공유 변수
사용자 정보, 요청 ID 등과 같이 요청할 때마다 공유 해야하는 데이터에 적용 할 수 있습니다. GIN 프레임 워크의 미들웨어 메커니즘은이 시나리오에 매우 적합합니다.
패키지 메인 수입 (수입) "github.com/gin-gonic/gin" )) func main () { 라우터 : = gin.default () // 미들웨어 설정 요청 공유 데이터 router.use (func (c *gin.context) { c.set ( "requestId", "고유-레크 스트 -ID") // 실제 요청 ID로 교체하여 로직 c.next ()를 생성합니다. }) router.get ( "/test1", func (c *gin.context) { requestId, _ : = c.get ( "requestId") C.String (200, "요청 ID : %s \ n", requestId. (String)) }) router.get ( "/test2", func (c *gin.context) { requestId, _ : = c.get ( "requestId") C.String (200, "요청 ID : %s \ n", requestId. (String)) }) router.run ( ": 8080") }
미들웨어는 각 요청의 시작 부분에서 requestID
설정하고 모든 후속 처리 기능에 c.Get("requestID")
를 통해 액세스 할 수 있습니다. 이는 PHP의 부모 컨트롤러를 하위 컨트롤러로 전달하는 효과를 시뮬레이션합니다. 보다 복잡한 공유 데이터 구조는 간단한 문자열 대신 사용자 정의 구조를 사용할 수 있습니다.
위의 두 가지 방법을 통해 GO GIN 프레임 워크에서 다른 컨트롤러 간의 공개 데이터 공유를 효과적으로 실현하여 다른 시나리오의 요구를 충족시킬 수 있습니다. 선택할 방법은 데이터의 수명주기 및 범위에 따라 다릅니다.
위 내용은 Go Gin 프레임 워크에서 모든 컨트롤러가 공개 데이터를 공유하게하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

GitHub是一个面向开源及私有软件项目的托管平台,可以让开发者们在这里托管自己的代码,并进行版本控制。GitHub主打的是开源项目与协作,通过这个平台上的开源项目,开发者们可以查看其他开发者的项目源代码,并进行交流和学习。

在git中,“push -u”的意思是将本地的分支版本上传到远程合并,并且记录push到远程分支的默认值;当添加“-u”参数时,表示下次继续push的这个远端分支的时候推送命令就可以简写成“git push”。

在git中,pack文件可以有效的使用磁盘缓存,并且为常用命令读取最近引用的对象提供访问模式;git会将多个指定的对象打包成一个成为包文件(packfile)的二进制文件,用于节省空间和提高效率。

GitLab是一种基于Web的Git版本控制库管理软件,旨在帮助开发团队更好地协同工作,提高工作效率。当您第一次登录GitLab时,系统会提示您要更改初始密码以确保账户安全。本文将为大家介绍如何在GitLab上进行第一次登录并更改密码。

git中pull失败的解决方法:1、利用“git reset --hard”强制覆盖掉自己的本地修改;2、利用“git stash”推送一个新的储藏,拉取之后利用“git stash pop”将修改保存到暂存区;3、若依然出现问题,则将文件保存到暂存区并提交注释即可。

git分支能改名字。改名方法:1、利用git中的branch命令修改本地分支的名称,语法为“git branch -m 旧名字 新名字”;2、利用“git push origin 新名字”命令,在删除远程分支之后将改名后的本地分支推送到远程;3、利用IDEA直接操作修改分支名称即可。

本篇文章给大家带来了关于git的相关知识,其中主要跟大家聊一聊怎么让你的git记录保持整洁,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

git删除某个分支的方法:1、利用“git branch --delete dev”命令删除本地分支;2、利用“git push origin --delete branch”命令删除远程分支;3、利用“git branch --delete --remotes”命令删除追踪分支。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구
