rest - 雅司病和 PUT 请求

标签 rest yaws

我刚刚开始使用 Yaws 尝试创建一些简单的 RESTful Web 服务,但是我遇到了一个意想不到的问题:当我执行 PUT 请求时,我似乎无法访问我的数据。当我尝试使用 yaws_api:parse_post 函数时,出现以下错误:

ERROR: Can't parse post body for 'PUT' requests: URL: ...

我写出了整个请求,一切看起来都一样,所以我很困惑。难道我做错了什么? GET 和 POST 工作正常。事实上,我现在处理 POST 和 PUT 的方式之间的唯一区别就是我为每个 POST 所显示的内容,因为现在我只是编写测试代码来显示成功。

提前致谢。

最佳答案

我还觉得奇怪的是,Yaws API 中没有与非 POST HTTP 方法等效的 parse_post/1。

无论如何,我只是使用 parse_query/1 进行 PUT。给定一个 param1=abc、param2=def 的 PUT 请求:

index(Args) ->
  case yaws_arg:method(Args) of
  'PUT' ->
    Parsed = yaws_api:parse_query(Args),
    io:format("PUT PARAMS=~p", [Parsed]),
    ....
  'POST' ->
    ....

输出是:

PUT PARAMS=[{"param1","abc"}, {"param2","def"}}]

(上面的例子是在 Erlyweb Controller 中。)

关于rest - 雅司病和 PUT 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3933588/

相关文章:

rest - AngularJS $resource 创建新对象而不是更新对象

python - 库币合约API中的 "size"参数是什么意思?

rest - 具象状态传输 (REST) 和简单对象访问协议(protocol) (SOAP)

erlang - YAWS Embedded 作为 rebar3 问题中的依赖项

c++ - 如何将 c++ 模块与 yaws 一起使用

web-services - 使用时区信息进行地理编码

facebook - 使用 Facebook OAuth 保护 Rest API 端点的可能方法

erlang - 在 Yaws 网络服务器上上传进度

macos - MacOS X 上的 Erlang 和 Yaws 设置

html - Yaws 文件未正确渲染