【问题标题】:How to not send a response body如何不发送响应正文
【发布时间】:2013-08-09 11:59:51
【问题描述】:

我正在尝试从我们的 api 发回带有 http 状态代码 201 Created 和 Location:header 的标头响应。

无论我做什么,我都会收到响应正文,这是我不想要的。

如果我返回一个空字符串(return "";),restler 会将字符串 '""' 放入响应正文中。如果我返回 null 或根本不返回任何内容,restler 会将字符串 'null' 放入响应正文中。

我如何告诉 Restler 发送除标头之外的任何内容?

【问题讨论】:

    标签: php restler


    【解决方案1】:

    更新:-

    使用最新版本的 Restler 3 RC4。返回 null 为响应发送空正文

    这个行为可以通过设置来改变

    Defaults::$emptyBodyForNullResponse = false;
    

    您可以使用@status注释将响应码设置为201

    和@header 用于设置位置标头的注释

    对于旧版本,请使用下面描述的技术


    从您的 api 方法中,使用 header 函数设置状态和位置标头,然后使用 die 或 exit

    header("HTTP/1.0 201 Created");
    header('Location: http://api.example.com/item/45');
    die();
    

    这是一个非常有效的用例,需要更好的方法,我们将很快用这些解决方案更新这个答案

    感谢您为 Restler 做出贡献 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多