我有一个带有 hello world 端点的 Web 服务,如下所示:
let app =
choose [
GET >=>
choose [
path "/hello" >=> OK "Hello World!"
pathScan "/hello/%s" (fun name -> OK (sprintf "Hello World from %s" name)) ]
NOT_FOUND "Not found" ]
[<EntryPoint>]
let main argv =
startWebServer defaultConfig app
0
现在我想添加一个额外的端点,它可以处理这样的路由:
http://localhost:8083/hello/{name}?lang={lang}
此路由应适用于以下 URL:
- http://localhost:8083/hello/FooBar 在这种情况下 lang 应该设置 为默认值“en-GB”
- http://localhost:8083/hello/FooBar?lang=en-GB
- http://localhost:8083/hello/FooBar?lang=de-DE
但它不应该适用于
http://localhost:8083/hello/FooBar/en-GB
可选参数应该只允许在查询参数字符串中而不是在路径中。
知道如何使用 Suave 实现这一目标吗?