如何在Hunchentoot中处理原始数据

时间:2014-04-23 16:00:55

标签: json common-lisp ccl hunchentoot

我正在使用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在请求正文中发送带有一些示例JSON数据的HTTP POST请求,如下所示:

{
    "first_name": "John",
    "last_name": "Doe",
    "login": "jdoe",
    "password": "lalala",
    "email": "jdoe@ietf.org",
    "organization": "IETF"
}

请求正文明显通过,因为我能够将其输出到屏幕,但decode-json部分让我遇到500服务器错误。我尝试了一些似乎合理的组合,但我无法解析那个JSON。理想情况下,我想将其解析为plistalist或哈希表。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

使用(restas:debug-mode-on)进行调试。