Yesod 位置 Header

Yesod Location Header

我必须在 post 处理程序响应中设置一个位置 header,将放置新创建的实体的位置。我怎样才能动态地做到这一点?

目标路线(放置的地方)有这样的定义:

/exchanges/#ExchangeId ExchangeByIdR GET PUT

编辑

我想要这样的功能:

addLocationHeader (ExchangeByIdR eId)

我只是创建了自己的函数addLocationHeader:

addLocationHeader :: MonadHandler m => Route (HandlerSite m) -> m ()
addLocationHeader url = do
  r <- getUrlRender
  addHeader "Location" (r url)