もしかしたらやりがちなのかもしれない。まあObject型なんだから「ですよね?」という感じでもあるけど油断してたんです。
situation
- HandlerInterceptorでリクエストの共通処理を実装
- preHandlerの引数methodをごにょごにょする
- やっていたこととしては、handler methodにつけたアノテーションとそのパラメータで色々処理をするというもの
- handler methodはずばりHandlerMethodという型でやってくる
- HandlerMethodからreflectionのMethodを引っ張ってくる必要があった
- methodがHandlerMethodで何故かキャストできなくて死
何が起きた
- 「PreFlightHandlerはHandlerMethodにキャストできません!」的なエラーを吐いた
PreFlightHandlerとは
situationの項に書かなかったこととして、「Corsのアクセスを捌いていた」というものがあります。
Corsはpreflightリクエストが飛んでくる……ハッ
つまり?
対処としては、ちゃんとキャストできるか確かめましょう、でしかないわけですが、思ってもみない中身が飛んできたのでびっくりした次第でした。
このmethod
に普通どんなものが来うるのか、リファレンスか何かに書いてあったら教えていただけると幸いです。