Похоже, servant-swagger
просто еще не добавил необходимый экземпляр для этой работы, возможно, поскольку он все еще помечен как экспериментальный. Если вы пишете программу, а не библиотеку, вы можете добавить этот экземпляр-сироту, чтобы он работал:
{-# LANGUAGE ScopedTypeVariables #-}
instance HasSwagger sub => HasSwagger (AuthProtect tag :> sub) where
toSwagger _ = toSwagger (Proxy :: Proxy sub)
Обратите внимание, что это экземпляр-заглушка, который заставит его «работать», как при компиляции, но это не будет генерировать упоминание аутентификации в документации. Если вы хотите этого, вам нужно написать реальную реализацию toSwagger
. Если вы хотите сделать это, остальные экземпляры , вероятно, будут полезной отправной точкой.