我正在尝试从我们的 api 发送带有 http 状态代码 201 Created 和 Location:header 的标头响应。
无论我做什么,我都会得到一个响应体,这是我不想要的。
如果我返回一个空字符串(返回 "";),restler 会将字符串 '""' 放入响应正文中。如果我返回 null 或根本不返回任何内容,restler 会将字符串“null”放入响应正文中。
我如何告诉 Restler除了标头之外不要发送任何内容?
更新 :-
使用最新版本的 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 做出贡献 :)