我正在使用 RESTAS、Hunchentoot 和 CL-JSON 开发 Lisp API。我有这样定义的路线:
(define-route user/register ("/user/register" :method :post)
(let* ((raw-data (hunchentoot:raw-post-data :force-text t))
(params (json:decode-json-from-string)))
(format t "List of parameters: ~a~%" params)
))
现在我使用 Postman 发送 HTTP POST 请求,请求正文中包含一些示例 JSON 数据,如下所示:
{
"first_name": "John",
"last_name": "Doe",
"login": "jdoe",
"password": "lalala",
"email": "jdoe@ietf.org",
"organization": "IETF"
}
请求正文清楚地通过了,因为我可以将它输出到屏幕上,但是这decode-json
部分给我留下了 500 服务器错误。我尝试了一些看似合理的组合,但我无法解析该 JSON。plist
理想情况下,我想将其解析为alist
或哈希表。非常感谢任何帮助。