問題タブ [go-gin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - golang gin フレームワークの gzip レスポンスを返す方法
golang フレームワーク gin を使用して gzip 応答を返そうとしています。
ここに例を示します: https://github.com/gin-gonic/contrib/blob/master/gzip/example/example.go
この例を使用すると、gzip されたコンテンツが返されません。
上記のコードを使用すると、curl から次の出力が得られます
コンテンツが gzip されておらず、余分なジャンク文字が追加されていることに注意してください。
「?n????」
これまでのところ、gzip を返す方法がわかりません。サンプル コードに間違いがあると思いますが、それを理解するのに苦労しています。
前もって感謝します。
go - ジンで応答本文をログに記録する方法
ジンのミドルウェアに応答本文を記録する必要がありますが、応答本文を取得する方法がわかりません。誰でも助けることができますか?
次のようなミドルウェアを使用しています。
私の質問は、ミドルウェアの Context から応答本文を取得する方法ですか?
session - golang(gin gonicフレームワーク)でマップ、構造体をセッションに設定します
gin gonic を使用して Web アプリケーションを構築しています。https://github.com/gin-gonic/contrib/tree/master/sessionsを使用してセッションを処理します。たとえば、整数値をセッションに設定します。
そして、別のコントローラーでは、このセッションを で取得できますsession.Get("mysession")
。
しかし、マップまたは構造体を設定した場合。同じコントローラーでのみセッションを取得できます。ここで何か間違っていますか??
go - TCP6 ではなく TCP4 でリッスンする
https://github.com/gin-gonic/ginを使用して http サービスを記述していますが、展開すると、tcp6 に展開し続けます (netstat によると)
go - Golang Gin "c.Param undefined (type *gin.Context has no field or method Param)"
GolangのフレームワークであるGinを使ってみました。
https://github.com/gin-gonic/gin
そして公式のgithubからサンプルコードをコピーしました。
こんな感じです。
しかし、エラーが発生しました。
問題を解決する方法を知っている人はいますか?
・CentOS7
・goバージョン go1.6.3 linux/amd64
編集:
私は実際にグライドを使用していますが、ジンをグローバルとして更新しました。また、Go を 1.7 に更新しますが、それでも同じエラーが発生します。
go - 別のバックエンドへの Golang gin gonic Web フレームワーク プロキシ ルート
Gin Gonic Web Golang フレームワークで別のバックエンドへのいくつかのルートのプロキシ Web リクエストをリバースする方法
以下に示すように、ハンドル関数で直接転送する方法はありますか?
router := gin.New()
router.Handle("POST", "/api/v1/endpoint1", ForwardToAnotherBackend)
json - マップの配列を送信し、gin-templating を使用して反復する方法
以下は、作業コードのスニペットです。私はジンテンプレートエンジンを使用しています。
そして、インデックステンプレートには次のものがあります:
ご覧のとおりstudents
、ヘッダー (マップ) の値をハードコーディングしました。私が構築した残りの API からこのデータを取得したいと考えています。私の残りのAPIの応答は配列です:
map[string]string
の代わりに、この JSON 応答をアンマーシャリングできますmap[int]map[string]string
。この非整列化されたボディを学生のパラメーター値に渡し、この配列をインデックス テンプレートで反復処理するにはどうすればよいでしょうか?
go - 途中でidを入れてゴージンルートを定義する方法
ルートを定義したい
この種のルートを定義し、ハンドラーでユーザー ID をインターセプトするにはどうすればよいですか。このようなもの
このような場合、Go コードで userid 変数を読み取るにはどうすればよいですか?
go - ビルドエラー "db.GetUsers undefined (type *gorm.DB has no field or method GetUsers)"
私はgolangが初めてで、gin + gormを使用してAPIサーバーを作成しようとしています.
以下のコードをビルドしようとしましたが、type *gorm.DB has no field or method GetUsers
エラーが発生します。これは非常に単純な API サーバーであり、テーブル
からすべてのユーザーを取得したいだけです。users
で実装GetUsers()
し、テーブルcontrollers/user.go
も作成しました。なぜそれが言うのかわかりません.誰かがこれを解決するためのアドバイスをくれます.users
no field or method GetUsers
testing - http ルートをテストするための Golang の関数のモック
golang/mock のような追加のパッケージを使用せずに、関数をモックする方法を理解するのに完全に混乱しています。その方法を学ぼうとしていますが、適切なオンライン リソースがあまり見つかりません。
基本的に、インターフェイスを使用して物事をモックする方法を説明するこの優れた記事に従いました。
そのため、テストしたい関数を書き直しました。この関数は、データストアにデータを挿入するだけです。そのための私のテストは問題ありません-関数を直接モックできます。
私が抱えている問題は、テストしようとしている http ルート内でそれをモックすることです。Gin フレームワークを使用しています。
私のルーター(簡略化)は次のようになります。
UpdateOperation 関数を呼び出します。
そのため、FindAndCompleteOperation() 関数をモックする必要があります。
主な (簡略化された) 関数は次のようになります。
操作を更新するルートをテストするには、次のようなものがあります。
もともと、私は少しごまかそうとしましたが、次のようなことを試しました:
しかし、それは他のすべてのテストなどに影響します。
データストアなどに頼らずにルートをテストできるように、 FindAndCompleteOperation 関数をモックする最良の方法を誰かが簡単に説明してくれることを願っています.