我有以下接口:
type GSDMonitoringApi = FetchWorkspaceIdsCreated
:<|> FetchGsdCommandsByWorkspaceId
type FetchWorkspaceIdsCreated = "gsd" :> "monitoring" :> "workspaceIds" :> Get '[JSON] [Persisted WorkspaceId]
type FetchGsdCommandsByWorkspaceId = "gsd" :> "monitoring" :> "commands" :> Capture "workspaceId" WorkspaceId :> Get '[JSON] [Persisted GsdCommand]是否有可能只提取"gsd" :> "monitoring" :>并将其放入GSDMonitoringApi中一次?
附言:佣人做得好得令人惊讶!
发布于 2018-12-13 23:48:26
可以,合并后可以将前缀添加到两个分支中:
type GSDMonitoringApi =
"gsd" :> "monitoring" :>
( FetchWorkspaceIdsCreated :<|> FetchGsdCommandsByWorkspaceId )
type FetchWorkspaceIdsCreated = "workspaceIds" :> Get '[JSON] [Persisted WorkspaceId]
type FetchGsdCommandsByWorkspaceId = "commands" :> Capture "workspaceId" WorkspaceId :> Get '[JSON] [Persisted GsdCommand]作为一个半相关的观点,我建议您查看Servant.API.Generic。像这样把API和:<|>结合起来很快就会变得非常丑陋。Servant.API.Generic在某种程度上解决了这个问题。
https://stackoverflow.com/questions/53765021
复制相似问题