3

これが有効な構文ではないことはわかっていますが、サーバントでこのようなことを達成する方法はありますか?

type StandardAPI = "foo" :> Get '[JSON] Whatever

type CustomAPI = StandardAPI :<|> "customroute" :> Get '[JSON] Blah

つまり、API を構成します。スポックでは、モナドのルート構築でこれを行うことができましたが、サーバントでこれを行う方法がわかりません。

このようにして、API 間で共有ルートを再利用できます。これを使用するもう 1 つの理由は、Raw などのクライアント ジェネレーターでは機能しない特定の型があることです。

4

1 に答える 1

8

はい、使用できるサーヴァントのドキュメントを参照してください

type CombinedAPI = "users" :> UsersAPI
          :<|> "products" :> ProductsAPI

server :: Server CombinedAPI
server = usersServer :<|> productsServer

usersServer :: Server UsersAPI
usersServer = -- implementation

productsServer :: Server ProductsAPI
productsServer = -- implementation
于 2016-06-07T13:01:21.353 に答える