我有一个 API 调用,我需要能够运行一些检查,并可能返回各种状态代码。我不需要自定义视图或任何东西,我只需要返回适当的代码。如果用户没有传递正确的凭据,我需要返回一个401状态。如果他们没有发送支持的请求格式,我需要返回一个400状态。
因为它是一个 API,所以我真正想做的就是设置响应状态,然后用一个简单的、愚蠢的消息来说明请求为什么失败(可能使用 exit
)。只够完成任务,但我一直没办法让它正常工作。我已经尝试使用 PHP 的 header()
和 Cake 的 $this->header()
(这都在控制器中) ,但是尽管我得到了退出消息,但是标题显示了 200 OK
状态。
使用下面的代码,我得到了消息,但是头部没有设置。我遗漏了什么?
if( !$this->auth_api() ) {
header( '401 Not Authorized' );
exit( 'Not authorized' );
}