是否可以使用 Webpart GET 值创建 class 实例
Is that possible to create a class instance with webpart GET values
我创建了一个 "Game" class 并且我正在尝试使用我的 webpart 路径中的值来创建它的一个实例。
我的实例需要一个 playerName,所以我尝试创建一个名称为 value
let g:game.Game = new game.Game()
let php =
request (fun r ->
match r.queryParam "playerName" with
| Choice1Of2 name -> new game.Game(1,name,"hyy")//OK (sprintf "playerName: %s" name)
| Choice2Of2 msg -> BAD_REQUEST msg)
let webPart =
choose [
path "/" >=> (OK "Home")
path "/elm/api/create.php" >=> php
]
startWebServer defaultConfig webPart
但是它不起作用,因为这个表达式应该是 HttpContext 类型而不是 Game 类型。
我想创建一个实例并根据我的路径值调用 class 的方法。
首先:你不能return 2 种不同类型的函数
let php =
request (fun r ->
match r.queryParam "playerName" with
| Choice1Of2 name -> new game.Game(1,name,"hyy")
^^^^^^^^^^^
//should probably be a OK
//OK (sprintf "playerName: %s" name)
| Choice2Of2 msg -> BAD_REQUEST msg)
那么你也应该Json确定你的Game
对象。所以你的代码可能应该看起来像这样
| Choice1Of2 name ->
new game.Game(1,name,"hyy")
|> toJson
|> OK
请将 toJson
替换为您选择的 Json 库的调用
我创建了一个 "Game" class 并且我正在尝试使用我的 webpart 路径中的值来创建它的一个实例。
我的实例需要一个 playerName,所以我尝试创建一个名称为 value
let g:game.Game = new game.Game()
let php =
request (fun r ->
match r.queryParam "playerName" with
| Choice1Of2 name -> new game.Game(1,name,"hyy")//OK (sprintf "playerName: %s" name)
| Choice2Of2 msg -> BAD_REQUEST msg)
let webPart =
choose [
path "/" >=> (OK "Home")
path "/elm/api/create.php" >=> php
]
startWebServer defaultConfig webPart
但是它不起作用,因为这个表达式应该是 HttpContext 类型而不是 Game 类型。
我想创建一个实例并根据我的路径值调用 class 的方法。
首先:你不能return 2 种不同类型的函数
let php =
request (fun r ->
match r.queryParam "playerName" with
| Choice1Of2 name -> new game.Game(1,name,"hyy")
^^^^^^^^^^^
//should probably be a OK
//OK (sprintf "playerName: %s" name)
| Choice2Of2 msg -> BAD_REQUEST msg)
那么你也应该Json确定你的Game
对象。所以你的代码可能应该看起来像这样
| Choice1Of2 name ->
new game.Game(1,name,"hyy")
|> toJson
|> OK
请将 toJson
替换为您选择的 Json 库的调用