npm 包 http-status-definitions 使用教程

阅读时长 9 分钟读完

介绍

在前端开发中,我们经常会遇到处理 HTTP 状态码的场景。通过处理状态码,我们可以做出不同的处理逻辑,提高用户体验,增强用户交互。但是处理状态码时,我们往往需要进行大量的状态码的比对和逻辑处理,这不仅繁琐,而且容易出错。

为了方便开发者处理 HTTP 状态码,npm 社区中有一个叫做 http-status-definitions 的 npm 包,它提供了一套常见 HTTP 状态码的定义,并且为每个状态码提供了详细的描述和建议的处理方法。

在本文中,我们将详细介绍如何使用 http-status-definitions 包来规范处理 HTTP 状态码。

安装

我们可以通过 npm 快捷地安装 http-status-definitions 包:

使用方法

在安装了 http-status-definitions 包后,我们可以在前端项目中通过 require 或者 import 的方式引入包:

然后就可以使用 HttpStatusDefinitions 对象了。

可以通过 HttpStatusDefinitions 对象的属性或者方法获取对应的 HTTP 状态码定义,例如:

-- -------------------- ---- -------
----- ------ - -------------------------
--------------------

--
-
  ----- ----
  ----- -----
  ------------ -------- --------- ------- --- --------
-
--

API

http-status-definitions 包提供了以下 API:

HttpStatusDefinitions

  • HttpStatusDefinitions.CONTINUE
  • HttpStatusDefinitions.SWITCHING_PROTOCOLS
  • HttpStatusDefinitions.PROCESSING
  • HttpStatusDefinitions.OK
  • HttpStatusDefinitions.CREATED
  • HttpStatusDefinitions.ACCEPTED
  • HttpStatusDefinitions.NON_AUTHORITATIVE_INFORMATION
  • HttpStatusDefinitions.NO_CONTENT
  • HttpStatusDefinitions.RESET_CONTENT
  • HttpStatusDefinitions.PARTIAL_CONTENT
  • HttpStatusDefinitions.MULTI_STATUS
  • HttpStatusDefinitions.ALREADY_REPORTED
  • HttpStatusDefinitions.IM_USED
  • HttpStatusDefinitions.MULTIPLE_CHOICES
  • HttpStatusDefinitions.MOVED_PERMANENTLY
  • HttpStatusDefinitions.FOUND
  • HttpStatusDefinitions.SEE_OTHER
  • HttpStatusDefinitions.NOT_MODIFIED
  • HttpStatusDefinitions.USE_PROXY
  • HttpStatusDefinitions.TEMPORARY_REDIRECT
  • HttpStatusDefinitions.PERMANENT_REDIRECT
  • HttpStatusDefinitions.BAD_REQUEST
  • HttpStatusDefinitions.UNAUTHORIZED
  • HttpStatusDefinitions.PAYMENT_REQUIRED
  • HttpStatusDefinitions.FORBIDDEN
  • HttpStatusDefinitions.NOT_FOUND
  • HttpStatusDefinitions.METHOD_NOT_ALLOWED
  • HttpStatusDefinitions.NOT_ACCEPTABLE
  • HttpStatusDefinitions.PROXY_AUTHENTICATION_REQUIRED
  • HttpStatusDefinitions.REQUEST_TIMEOUT
  • HttpStatusDefinitions.CONFLICT
  • HttpStatusDefinitions.GONE
  • HttpStatusDefinitions.LENGTH_REQUIRED
  • HttpStatusDefinitions.PRECONDITION_FAILED
  • HttpStatusDefinitions.PAYLOAD_TOO_LARGE
  • HttpStatusDefinitions.REQUEST_URI_TOO_LONG
  • HttpStatusDefinitions.UNSUPPORTED_MEDIA_TYPE
  • HttpStatusDefinitions.REQUESTED_RANGE_NOT_SATISFIABLE
  • HttpStatusDefinitions.EXPECTATION_FAILED
  • HttpStatusDefinitions.I_AM_A_TEAPOT
  • HttpStatusDefinitions.MISDIRECTED_REQUEST
  • HttpStatusDefinitions.UNPROCESSABLE_ENTITY
  • HttpStatusDefinitions.LOCKED
  • HttpStatusDefinitions.FAILED_DEPENDENCY
  • HttpStatusDefinitions.UNORDERED_COLLECTION
  • HttpStatusDefinitions.UPGRADE_REQUIRED
  • HttpStatusDefinitions.PRECONDITION_REQUIRED
  • HttpStatusDefinitions.TOO_MANY_REQUESTS
  • HttpStatusDefinitions.REQUEST_HEADER_FIELDS_TOO_LARGE
  • HttpStatusDefinitions.UNAVAILABLE_FOR_LEGAL_REASONS
  • HttpStatusDefinitions.INTERNAL_SERVER_ERROR
  • HttpStatusDefinitions.NOT_IMPLEMENTED
  • HttpStatusDefinitions.BAD_GATEWAY
  • HttpStatusDefinitions.SERVICE_UNAVAILABLE
  • HttpStatusDefinitions.GATEWAY_TIMEOUT
  • HttpStatusDefinitions.HTTP_VERSION_NOT_SUPPORTED
  • HttpStatusDefinitions.VARIANT_ALSO_NEGOTIATES
  • HttpStatusDefinitions.INSUFFICIENT_STORAGE
  • HttpStatusDefinitions.LOOP_DETECTED
  • HttpStatusDefinitions.NOT_EXTENDED
  • HttpStatusDefinitions.NETWORK_AUTHENTICATION_REQUIRED

以上属性均为只读属性,其中包含如下字段:

  • code: HTTP 状态码。
  • name: HTTP 状态码的名称。
  • description: HTTP 状态码的描述。

HttpStatusDefinitions.getStatusCode(code)

  • code: HTTP 状态码,可以是数字或者字符串类型。

  • 返回值:{ code, name, description },其中包含:

    • code: HTTP 状态码。
    • name: HTTP 状态码的名称。
    • description: HTTP 状态码的描述。

可以通过给定的 HTTP 状态码来获取对应的属性,例如:

-- -------------------- ---- -------
----- ------ - -----------------------------------------
--------------------

--
-
  ----- ----
  ----- -----
  ------------ -------- --------- ------- --- --------
-
--

示例

我们可以使用 http-status-definitions 包来规范处理 HTTP 响应状态码。例如我们可以通过以下方式来处理 HTTP 请求后的返回结果:

-- -------------------- ---- -------
-----------------
  -------------- -- -
    ----- ------ - -----------------------------------------------------
    ------ ------------- -
      ---- ------------------------------
        -- -------
        ------ --------------
      ---- ---------------------------------------
        -- -------------
        ----- --- --------------------------
      ---- ----------------------------------------
        -- ---------------
        ----------------------
        ------
      ---- -------------------------------------------------
        -- -------
        ----- --- --------------------------
      --------
        -- --------
        ----- --- --------------------------
    -
  --
  ------------ -- -
    -- ----
    ---------------------
  ---

通过 http-status-definitions 包,我们可以很方便地处理 HTTP 响应状态码,让我们的前端开发工作变得更加高效和规范。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600557d981e8991b448d4e54

纠错
反馈