【发布时间】:2021-04-15 01:13:53
【问题描述】:
我正在构建一个 api,我的 POST(创建)路径是 /api/v1/studios
控制器
def create
@studio = Studio.new(studio_params)
if @studio.save
render json: @studio, status: :created, location: @studio
else
render json: @studio.errors, status: :unprocessable_entity
end
end
private
def studio_params
params.permit(:name)
end
当我尝试通过 curl 创建实例时 ->
curl -X POST -v http://localhost:3000/api/v1/studios -H "Content-Type: application/json" -d '{"name":"studio1"}'
我得到的只是我在标题上写的这个错误。
Parsing error, could not resolve host: studio1}'
在 development.log 中我得到:
ActionDispatch::Http::Parameters::ParseError(783: ''{name:Disney}'' 处的意外令牌):
解析请求参数时出错。 内容:
'{name:迪士尼}'
【问题讨论】:
-
您能否将错误显示在您的
development.log中? -
我不确定
curl命令是如何产生该错误的。如果你的 shell 不完全不可靠,这是不可能的。 -
我在 development.log 上添加了(我认为)相关的错误信息。另外,也许我的外壳很不稳定?我正在使用 postgres 作为数据库
-
数据库无关。你在哪里运行
curl命令?你也可以只关注这个命令和这个命令吗?您不断发布与相关命令不匹配的数据。 -
我真的不明白它是如何运作的,但你是在赚钱......不知何故。我没有使用我的 Git CMD,而是通过 VS Code 使用了 Git bash,而是在 bash 中复制/粘贴了 curl 命令,但出现了错误。我又写了一遍,而不是复制/粘贴,它奏效了。我现在可以使用 curl 命令添加记录。感谢您的帮助,现在可以使用了。不过,正如您刚刚在此处评论的那样,我无法真正将您的答案设置为已接受。如果你在下面回答,我会做的。
标签: ruby-on-rails ruby curl parse-error