什么';s针对未请求的必需数据的适当HTTP错误

什么';s针对未请求的必需数据的适当HTTP错误,http,web,http-error,Http,Web,Http Error,在我的例子中,不需要参数。换句话说,应用程序不希望通过post、get或put获得任何数据。但是,在实现中,应首先定义会话变量中存储的项目列表,例如购物车项目,用户收集项目,然后转到下面的操作,否则,它将抛出HTTP错误。检查以下示例: public function actionCreate(){ if(count(Yii::$app->session->get('versesList',[])) > 0){ // Do the logic } else{

在我的例子中,不需要参数。换句话说,应用程序不希望通过post、get或put获得任何数据。但是,在实现中,应首先定义会话变量中存储的项目列表,例如购物车项目,用户收集项目,然后转到下面的操作,否则,它将抛出HTTP错误。检查以下示例:

public function actionCreate(){
  if(count(Yii::$app->session->get('versesList',[])) > 0){
    // Do the logic
  }
  else{
    throw new \yii\web\BadRequestHttpException(Yii::t('app', 'You must collect some verses first!')); 
  }
}

我不太清楚,400个错误请求是否是正确的错误代码。我曾尝试阅读维基百科,但我对其他一些HTTP错误感到困惑,例如:
406不可接受
412预处理失败
422不可处理实体

HTTP400,因为您请求的是服务器不知道如何处理的操作(因此这是一个错误的请求)

声明如下:

400(错误请求)状态代码表示服务器无法或将不会处理请求,原因是被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性的请求路由)


HTTP 400,因为您正在请求一个操作,服务器不知道如何处理(所以这是一个错误的请求)

声明如下:

400(错误请求)状态代码表示服务器无法或将不会处理请求,原因是被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性的请求路由)


400
在这种情况下绝对可以,但如果您想更具体一些:

听起来用户需要执行其他HTTP请求才能使此HTTP请求有效。在这些情况下,通常使用
409冲突


如果有趣的话,我在我的博客上写了更多关于这一点的例子:

400
对于这种情况来说肯定很好,但是如果你想更具体一些:

听起来用户需要执行其他HTTP请求才能使此HTTP请求有效。在这些情况下,通常使用
409冲突

我在我的博客上写了更多关于这个的例子,如果有意思的话: