問題タブ [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.

0 投票する
2 に答える
3250 参照

json - ネストされた JSON は、Postgres から Golang になります

ジンゴープを使っています。

SQL:

結果: ここに画像の説明を入力

ゴラン

そして、以下を使用して結果を返します:c.JSON(200, gin.H{"data": projects})

プロジェクトが1つしかない場合に機能します

ここに画像の説明を入力

ただし、複数のプロジェクトがある場合は、次のエラーが発生します。

エラー:json: error calling MarshalJSON for type json.RawMessage: invalid character '"' after top-level value

助言がありますか?

PS:私はGolangの初心者です

0 投票する
1 に答える
9125 参照

go - golang ginを使用して安らかなAPIへの認証モデルを作成するには?

RESTful API に対する認証モデルを作成したいと考えています。API トークンを使用したいと考えています。私は Web サービスで MVC を使用しており、このような auth.go コントローラーを作成しました。

今のところ機能していませんが、これを行うのに役立つ人がいますか、参照する例はありますか?

0 投票する
2 に答える
4420 参照

go - Gin ルーター: パス セグメントが既存のワイルドカードと競合しています

以下のものを提供するアプリを作りたいです。

  • a.com => ブラウザーが /www/index.html を検索できるように、/www をブラウザーに提供します)
  • a.com/js/mylib.js => /www/js/mylib.js をブラウザに提供する
  • a.com/api/v1/disk => JSON を返す典型的な REST API
  • a.com/api/v1/memory => 別の API

以下のようなコードを作りました。

コードを実行すると、パニックが発生します。

パニックになる理由はわかりますが、修正方法がわかりません。

私の頭に浮かんだのは、次の 2 つのことだけです。

  1. /api/v1 グループ パス以外を処理する NoRoute() 関数を使用します (正確にどのように実装するかはわかりません)。
  2. ミドルウェアを使用します。https://github.com/gin-gonic/contribに静的な中間がありますが、コードは Windows で動作しません ( https://github.com/gin-gonic/contrib/issues/91 )

前もって感謝します。

0 投票する
1 に答える
10930 参照

go - gin-gonic はリクエストを並行して処理しますか?

gin-gonic に基づいた go で記述された API サーバーがあります。予想される並列操作ではなく、要求を順次処理していると思わせる奇妙なことに気付きました。次のログ ファイルを検討してください。

ログをリアルタイムで見ると、最後の 3 つのエントリは 2 番目の呼び出しが終了するまで表示されません。これら 5 つの呼び出しは、互いに 5 ミリ秒以内に API に対して行われます。呼び出しは並行して処理される必要があります。これは、すべての呼び出しが 17:24:43 ではなく 17:24:40 までに完了する必要があることを意味します。IE: リクエストを処理するために接続が確立されたときに、サーバーが新しいスレッド/ゴルーチンを生成すること。そうでない場合、そのように機能するパッケージについて誰か提案がありますか。

これは gin-gonic を使用した最初のプロジェクトであり、設定する必要がある構成パラメーターがあるかどうか疑問に思っています。どんなアイデア/提案も大歓迎です。

0 投票する
1 に答える
546 参照

go - go http template テンプレートで余分なデータが漏れる

私はginライブラリを使用して単純なcrud webappを作成しています.paramをチェックするルート設定がありid、そのaddaadmin-employee-add.htmlをレンダリングする必要がある場合は、存在する場合はidを持つ従業員を返しますgetsadmin-employee-add.htmlのエラーメッセージのテンプレートをレンダリングしている場合404 not foundその中に漏れました。ここにスナップショットがありますここに画像の説明を入力

admin-employee-add.html

エラーを作成しているルート

ginがリダイレクトしようとしているためにエラーが発生しているようです/add->/add/しかし、私はすでに/add/ブラウザーでルートを使用しています。

ginのデバッグログ

ルートを変更してみまし/:idたが、エラーが表示されました。

return注: このエラーは、.txtの末尾にa を追加することで簡単に解決できますif id == "add"。しかし、このパターンにより、コードがドライに見えなくなります。これはもっとhttprouter問題のようです。