问题标签 [haskell-spock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rest - 如何在 Spock 中使用持久的 State monad?
我刚开始使用haskell,但我遇到了基本的“echo”REST 服务器的问题。
Spock 看起来是 REST 服务器的一个不错的起点,虽然我掌握了 State monad 的基础知识,但我在理解如何runState
在 spock 代码周围放置 a 时遇到了问题。
这是我到目前为止的代码。
haskell - forM_ 块内的 Blaze-html 类型错误
我刚刚开始使用 Spock、persistent 和 blaze-html 进行 Haskell Web 开发。
在我拥有的一条路线中,我想加载我选择的表中的每一行。我做这样的事情:
loadFlightInfos
有类型:
和 getSeatIdByFlight:
我从 Spock 的博客示例应用程序中复制runSQL
,它是这样的:
我得到的类型错误:
我仍然不明白这种类型错误,因为我知道runSQL
它是从持久化到 Spock 的包装器,如果我只是想输出 HTML,为什么它不能通过类型检查?
如何解决此类型错误?
haskell - 如何修改 inputText 以使用 inputCheckbox
我正在尝试做类似的事情,对于字符串列表中的元素,我旁边有一个复选框,并确定哪个复选框被选中。使用来自互联网的示例,我能够运行一个示例
但是,在函数 renderForm 中,当我将 inputText 更改为inputCheckbox "True" 之类的内容时,我收到错误True does not exist。我找不到使用 inputCheckbox 的示例,我希望有人能帮助我调整过滤字符串,以便在它旁边显示复选框,并且我可以正确运行表单。另外,在我发布的上一个链接中,我不知道函数inputCheckBox是什么,因为我只能找到inputCheckbox。也许这是一个过时的功能?
java - 如何使用 Java 类将 Web 服务器响应反序列化为 Haskell 对象
我的 Haskell 代码需要调用 Java Web 服务器。Web 服务器将发送一个序列化的 Java 对象作为响应。我有已编译的 Java 类,但不确定如何在 Haskell 中使用它。有没有办法将响应正确反序列化为 Haskell 对象,而无需将 Java 类复制并粘贴到 Haskell 类型中?
haskell - 如何在 Spock 请求处理程序中使用“IO 字符串”?
我有以下函数可以生成 1024 的倍数的随机字符串:
我想使用 Spock 将其公开给网络,例如:
但这是不正确的,因为最里面的do
-block 产生一个IO b0
,而不是 Spock 的预期类型:
如何在 Spock 获取请求处理程序中使用我的IO
-driven 随机字符串函数?
web-services - Haskell Spock:如何获取原始请求正文
Web.Spock.Action中的body函数应该返回原始请求正文。但是,它似乎并没有这样做:
Acurl --data 123123 localhost:3000/test
什么都不返回,并且trace
输出确认这b
是一个空字符串。
等效的Scotty应用程序运行良好:
我绝对看不出我做错了什么。任何输入将不胜感激!
更新:上面的例子将适用于Spock >= 0.12.0.0
!
json - postgres-simple - 没有因使用“查询”而产生的(ToRow Int)实例
我是haskell的新手,真的很难过。但这扩展了我的想法,所以我们开始吧。我正在尝试运行一个非常简单的 Web 服务器来查询 Postgres DB 并应将结果作为 JSON 返回。
查询非常简单:“Select id,data from MYTABLE where id = 1”
但是 haskell 的类型系统现在正在杀死我,我的行为的最终类型不匹配。我正在使用Spock和PostgreSQL-Simple作为组合。
大多数教程对于我想做的事情要么简单,要么困难。我介于两者之间,错过了很多对 Haskell 的理解,我以前的很多问题我已经通过简单的复制和粘贴解决了,并且得到了一个简单的版本。
但是,一旦我尝试传递路由变量,我就失败了。这是我的工作版本。我的数据库表在这里称为“信封”,重要的调用是它说的get "json"
:
然后我尝试使用 lambda 函数传递信封 ID,为此我还需要将 PostgreSQL-Simple 更改query_
为query
:
我得到的错误说:
即使没有 lambda 函数,我也无法仅返回查询中的第一项。
完整的源代码可以在bitbucket上找到
我希望有人有时间在这里帮助我。感谢您的阅读。
haskell - GET Route ActionCtxT 错误中的 Haskell Spock IO
我尝试在 Web 应用程序( Spock Webserver)的路由定义中返回一个 uuid 。
路线很容易定义
现在我尝试nextRandom
从Data.UUID.V1模块返回一个 uuid。该函数返回一个IO(Maybe UUID)
值。
所以我想,因为我在 IO 中并与另一个 IO 一起工作,所以我必须简单地用 绑定值<-
,如下所示:
但是编译器说不:
为什么会抛出该错误?我可以通过一个简单的打印示例轻松创建 uuid,但在 Spock 中我不明白 ActionCtxT 做了什么以及为什么我不能在其中执行 uuid IO。
haskell - 在 Hasekll Spock 中为静态资产或图像创建路由
我从其网站上获取了这个基本的 Spock 应用程序:
我有一个 html 页面,我可以像这样返回:
然而,一个 html 页面包含一些“img”标签。我如何需要创建一条路线才能解析图像?说,图像是文件夹“img”中的位置。
haskell - Spock 或 Wai/Warp 和 HTTPS
我有一个必须通过 HTTPS 访问的 Spock 网站。我该如何正确设置它?我认为它应该与 Wai/Warp 的方式相同,但仍然没有最新的信息。