Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php REST API上可能存在或不存在的ressource的什么状态代码_Php_Angular_Rest_Http - Fatal编程技术网

Php REST API上可能存在或不存在的ressource的什么状态代码

Php REST API上可能存在或不存在的ressource的什么状态代码,php,angular,rest,http,Php,Angular,Rest,Http,我正在为Angular的一家在线商店开发一个单页web应用程序,该应用程序将依赖于Symfony处理的REST API。我提出的第一个要求是,我需要知道客户是否有活动购物车。因此,我有一个route/get用户购物车,如果用户没有购物车,它会返回null(然后我会显示一个按钮来创建购物车),如果用户有一个活动购物车,我会返回购物车及其内容 我的问题是,如果用户没有购物车,我应该返回什么HTTP代码?我应该返回200代码(服务器应答正确,响应为空)还是404 content not found代码

我正在为Angular的一家在线商店开发一个单页web应用程序,该应用程序将依赖于Symfony处理的REST API。我提出的第一个要求是,我需要知道客户是否有活动购物车。因此,我有一个route/get用户购物车,如果用户没有购物车,它会返回null(然后我会显示一个按钮来创建购物车),如果用户有一个活动购物车,我会返回购物车及其内容

我的问题是,如果用户没有购物车,我应该返回什么HTTP代码?我应该返回200代码(服务器应答正确,响应为空)还是404 content not found代码?

我将返回404


假设您正在向te API请求一个对象(用户购物车),但该对象不存在。

理想情况下,您应该返回200个状态代码,并返回空响应。
由于购物车不是资源,因此购物车中的每一个内容都可以被视为资源。

这是否回答了您的问题
200看起来是正确的。对不起,我认为这个链接不适合它,首先它是一个get,而不是put或delete。其次,事实上没有购物车并不是一个错误。没有一个购物车像您的购物车一样有效。大多数网站并不真正要求您创建购物车。为什么不用空数组返回200来表示购物车是空的呢?是的,但我不是特别要求购物车,我是在问购物车是否存在,如果存在,请将其返回给我。是的,这确实是一个观点。但您真正要求的是“给我当前用户的购物车”就像“给我id为XXX的购物车”,但id在用户会话中是隐式的。返回一个404,你对你的应用程序说“此资源不存在”,然后你可以创建它(无POST请求),但返回一个200响应,返回null,你说“此资源存在,但为空”@DavidRojo我不明白为什么有人否决了你。这是正确的答案。OP还使用端点getFoo而不是findFoo。Find可以产生空结果,但get只能返回对象或抛出异常,在这种情况下,404cart可以被视为资源用户的属性。在您的情况下,资源是1。用户2。产品