ホームページ > バックエンド開発 > Golang > KrakenD のプラグインを実装するときに無効なノード タイプのパニックが発生する

KrakenD のプラグインを実装するときに無効なノード タイプのパニックが発生する

WBOY
リリース: 2024-02-09 10:21:09
転載
1096 人が閲覧しました

为 KrakenD 实现插件时无效的节点类型恐慌

#php エディター Baicao は今日、KrakenD プラグインの開発における一般的な問題、「KrakenD のプラグインを実装するときに無効なノード タイプ パニックが発生する」を紹介します。 KrakenD は、豊富な機能と柔軟なプラグイン システムを提供する高速で高性能の API ゲートウェイです。ただし、KrakenD プラグインを開発する場合、無効なノード タイプの問題が発生し、プラグインが正しく機能しなくなる可能性があります。この記事では、この問題の原因と、開発者がこのパニックを克服するのに役立つ解決策を探っていきます。

質問内容

リダイレクトなしのプラグインを開発しています。私は krakend-ce 2.2.1 (golang 1.19 を使用) を使用していますが、パニックになっています:

リーリー

https://github.com/gin-gonic/gin/issues/2959 に似ていますが、gin のバージョンは、krakend の以前のバージョンからアップグレードされています。本当に大文字だったら奇妙ですが、プラグインなしでも完全に機能します。最後の / もトリミングしました (何らかの理由である時点で追加されました)

ところで、私はプラグインのコンパイルに同じバージョンの krakend を使用しています。

リーリー

私のエンドポイントは次のように定義されています:

リーリー

編集: 私のブラウザでは依然として /abc ではなく /abc/ が表示されます。これにより、ルート間の衝突が発生する可能性があります (ここで見られるように: https://github.com/krakendio/krakend-ce/issues /386) とにかく、私はそうしませんスラッシュをどこに追加すればよいかわかりません (永久にトリミングしたと思っていました...そうではなかったようです)

edit2: https://www.krakend.io/docs/service-settings/router-options/ を見つけて、「disable_redirect_fixed_pa​​th」を使用しました: true と "disable_redirect_trailing_slash": true、もうパニックになりません...今度は別の問題があります: 私のボルダーが /a/ または末尾にスラッシュのあるものにリダイレクトしようとすると、無限にリダイレクトされます (冗談です)。 krakend が独自の方法でリダイレクトを処理していたため、プラグインを追加しました...

ここでの主な問題は、/{level1} と /{level1}/{level2} が /abc/ に同時に一致する場合のルーティングの競合だと思います。

###アイデア?

解決策

非常に良いです。この問題を解決するために、これを使用してワイルドカード no_redirect プラグイン https://www.php.cn/link を作成しようとしました。 /ba530cdf0a884348613f2aaa3a5ba5e8

構成ですが、copilot&gpt4 を使用しても失敗しましたが、これは実装できると思います。そこで私は別の方法で問題を解決しました。ゲートウェイを岩の前に置き、リクエストが失敗するたびにルートを追加しました...ログに記録されたルートがなかったためです (*泣き叫ぶ)。リダイレクトのないプラグインを必要とするファイルには問題なく機能します。素晴らしいソリューションですが、これまでのところうまくいきましたが、思ったほど長くは機能しませんでした

以上がKrakenD のプラグインを実装するときに無効なノード タイプのパニックが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート