gpt4 book ai didi

ruby - 通过 cURL POST 请求向 Sinatra 发送 JSON

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:13 26 4
gpt4 key购买 nike

我使用 Sinatra 创建了一个简单的 API,它根据提交的 JSON 数据发送电子邮件。我可以创建一个表单,通过表单提交 JSON 数据,然后访问参数以获取电子邮件的收件人、主题和正文。但是,我正在尝试使用 cURL 来测试 API,但似乎无法正常工作。我假设我在 cURL 请求中的格式被破坏了。下面是我尝试过的 cURL 请求以及 params 的输出以及尝试使用 JSON gem 解析 params。

我倾向于使用一个巨大的键来获取参数,该键是我的 JSON 数据字符串,值为 nil。我尝试添加 Content-Type: application/json,当我这样做时,params 为空。

curl -X POST -H "Accept: application/json" -d '{ "to": "Brantley <test@gmail.com>", "subject": "hello world", "body": "Hi Jennifer! Sending you an email via this API I just made." }' http://localhost:9393/send-email

这是返回的参数散列...

{"{ \"to\": \"Brantley <test@gmail.com>\", \"subject\": \"hello world\", \"body\": \"Hi Jennifer! Sending you an email via this API I just made.\" }"=>nil}

我尝试使用 JSON 参数将其转换为更有用的东西,然后我得到以下内容......

{\"{ \\\"to\\\": \\\"Brantley <test@gmail.com>\\\", \\\"subject\\\": \\\"hello world\\\", \\\"body\\\": \\\"Hi Jennifer! Sending you an email via this API I just made.\\\" }\":null}"

我在这上面度过了充实的一天,阅读了 20 篇关于类似问题的 stackoverflow 帖子,但仍然感到困惑,所以任何建议都会有所帮助。干杯!

最佳答案

我知道了……不需要和参数搞混了。我可以通过执行以下操作将 JSON 有效负载作为哈希获取...

payload = JSON.parse(request.body.read)

关于ruby - 通过 cURL POST 请求向 Sinatra 发送 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24091594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com