You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用hunchentoot与restas:如何让Postman显示模板字符串的变量值

解决Restas接口无法显示变量实际值的问题

原代码的问题在于返回的是硬编码字符串,Common Lisp不会自动解析字符串中的{{params}}这类占位符,必须显式通过字符串格式化函数将变量值插入结果中。

修改后的完整代码

(restas:define-module #:restas.api
  (:use #:cl))

(in-package #:restas.api)

(restas:start '#:restas.api :port 3000)

(restas:define-route main-tr ("/tr" :method :post)
  (let* ((raw-data (hunchentoot:raw-post-data :force-text t))
         (params (json:decode-json-from-string raw-data)))
    ;; 使用format函数插入变量值,~A会自动将变量转为可读字符串
    (format nil "<h1> It Worksasasas! ~A ~A <var> ~A </var> </h1>"
            params params params)))

优化:输出格式化的JSON字符串

如果希望params以标准JSON格式展示,可以将变量重新编码为JSON字符串:

(restas:define-route main-tr ("/tr" :method :post)
  (let* ((raw-data (hunchentoot:raw-post-data :force-text t))
         (params (json:decode-json-from-string raw-data))
         (params-json (json:encode-json-to-string params)))
    (format nil "<h1> It Worksasasas! ~A ~A <var> ~A </var> </h1>"
            params-json params-json params-json)))

关键说明

  • format nil "...":生成包含变量值的字符串,~A是通用占位符,会将Lisp对象转换为可读的字符串形式
  • json:encode-json-to-string:将解码后的JSON对象(通常是alist/plist)重新编码为标准JSON字符串,更适合在接口返回中展示

内容的提问来源于stack exchange,提问作者oleg harput

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 21:18:19