1

API を構築し、intercept(ApplicationCallPipeline.Call){}各ルートの実行前にいくつかのロジックを実行するために使用しています。私は、intercept() メソッドから呼び出されたルートにデータを渡す必要がありcall.attributes.put()、intercept() で次のように使用してデータを設定しています。

val userKey= AttributeKey<User>("userK") call.attributes.put(userKey, userData)

でuserDataを取得しcall.attributes[userKey]ます。何が起こるかというとcall.attributes[userKey]、属性を設定した Intercept() メソッドでのみ機能します。必要なルートでは機能しません。それは私を投げます java.lang.IllegalStateException: No instance for key AttributeKey: userK

物事を正しい方法で行っているのだろうか

4

1 に答える 1