1

我正在尝试使用 Suave.io 编写一个网站,并有一个可以作为 post 或 get 请求提交的表单。我找到了一个如何将表单值绑定到 dto 的示例,但找不到如何将查询参数绑定到同一个 dto 的方法。

let app : WebPart =
  choose
    [ path "/api" >>= GET >>= Binding.bindReq (bindQuery params_form) classify BAD_REQUEST
      path "/api/v2/" >>= POST >>= Binding.bindReq (bindForm params_form) classify BAD_REQUEST
      NOT_FOUND "Found no handlers" ]

startWebServer defaultConfig app
4

1 回答 1

2

从 0.32 版开始,没有任何内容。你必须自己做:

let withMyDTo fSuccess FFailure = 
    request ( fun r -> 
        let myValue1 = r.queryParam "val1"
        let myValue2 = r.queryParam "val2"
        match myValue1,myValue2 with 
        | Choice1Of2(v1),Choice1Of2(v2) -> fSuccess { val1:v1; val2:v2 }
        | _,_ -> FFailure
    )



choose [path "ddd" >>= withMyDTo doThat OhDoThatThen]
于 2015-12-09T16:17:52.017 回答