HTTP 状态

news/2025/11/27 15:25:47/文章来源:https://www.cnblogs.com/hapday/p/19277820

HTTP 状态

 

 

 

/** Copyright 2002-2021 the original author or authors.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**      https://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/package org.springframework.http;import org.springframework.lang.Nullable;/*** Enumeration of HTTP status codes.** <p>The HTTP status code series can be retrieved via {@link #series()}.** @author Arjen Poutsma* @author Sebastien Deleuze* @author Brian Clozel* @since 3.0* @see HttpStatus.Series* @see <a href="https://www.iana.org/assignments/http-status-codes">HTTP Status Code Registry</a>* @see <a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes">List of HTTP status codes - Wikipedia</a>*/
public enum HttpStatus {// 1xx Informational/*** {@code 100 Continue}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.2.1">HTTP/1.1: Semantics and Content, section 6.2.1</a>*/CONTINUE(100, Series.INFORMATIONAL, "Continue"),/*** {@code 101 Switching Protocols}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.2.2">HTTP/1.1: Semantics and Content, section 6.2.2</a>*/SWITCHING_PROTOCOLS(101, Series.INFORMATIONAL, "Switching Protocols"),/*** {@code 102 Processing}.* @see <a href="https://tools.ietf.org/html/rfc2518#section-10.1">WebDAV</a>*/PROCESSING(102, Series.INFORMATIONAL, "Processing"),/*** {@code 103 Checkpoint}.* @see <a href="https://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal">A proposal for supporting* resumable POST/PUT HTTP requests in HTTP/1.0</a>*/CHECKPOINT(103, Series.INFORMATIONAL, "Checkpoint"),// 2xx Success/*** {@code 200 OK}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">HTTP/1.1: Semantics and Content, section 6.3.1</a>*/OK(200, Series.SUCCESSFUL, "OK"),/*** {@code 201 Created}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.3.2">HTTP/1.1: Semantics and Content, section 6.3.2</a>*/CREATED(201, Series.SUCCESSFUL, "Created"),/*** {@code 202 Accepted}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.3.3">HTTP/1.1: Semantics and Content, section 6.3.3</a>*/ACCEPTED(202, Series.SUCCESSFUL, "Accepted"),/*** {@code 203 Non-Authoritative Information}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.3.4">HTTP/1.1: Semantics and Content, section 6.3.4</a>*/NON_AUTHORITATIVE_INFORMATION(203, Series.SUCCESSFUL, "Non-Authoritative Information"),/*** {@code 204 No Content}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.3.5">HTTP/1.1: Semantics and Content, section 6.3.5</a>*/NO_CONTENT(204, Series.SUCCESSFUL, "No Content"),/*** {@code 205 Reset Content}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.3.6">HTTP/1.1: Semantics and Content, section 6.3.6</a>*/RESET_CONTENT(205, Series.SUCCESSFUL, "Reset Content"),/*** {@code 206 Partial Content}.* @see <a href="https://tools.ietf.org/html/rfc7233#section-4.1">HTTP/1.1: Range Requests, section 4.1</a>*/PARTIAL_CONTENT(206, Series.SUCCESSFUL, "Partial Content"),/*** {@code 207 Multi-Status}.* @see <a href="https://tools.ietf.org/html/rfc4918#section-13">WebDAV</a>*/MULTI_STATUS(207, Series.SUCCESSFUL, "Multi-Status"),/*** {@code 208 Already Reported}.* @see <a href="https://tools.ietf.org/html/rfc5842#section-7.1">WebDAV Binding Extensions</a>*/ALREADY_REPORTED(208, Series.SUCCESSFUL, "Already Reported"),/*** {@code 226 IM Used}.* @see <a href="https://tools.ietf.org/html/rfc3229#section-10.4.1">Delta encoding in HTTP</a>*/IM_USED(226, Series.SUCCESSFUL, "IM Used"),// 3xx Redirection/*** {@code 300 Multiple Choices}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.4.1">HTTP/1.1: Semantics and Content, section 6.4.1</a>*/MULTIPLE_CHOICES(300, Series.REDIRECTION, "Multiple Choices"),/*** {@code 301 Moved Permanently}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.4.2">HTTP/1.1: Semantics and Content, section 6.4.2</a>*/MOVED_PERMANENTLY(301, Series.REDIRECTION, "Moved Permanently"),/*** {@code 302 Found}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.4.3">HTTP/1.1: Semantics and Content, section 6.4.3</a>*/FOUND(302, Series.REDIRECTION, "Found"),/*** {@code 302 Moved Temporarily}.* @see <a href="https://tools.ietf.org/html/rfc1945#section-9.3">HTTP/1.0, section 9.3</a>* @deprecated in favor of {@link #FOUND} which will be returned from {@code HttpStatus.valueOf(302)}*/@DeprecatedMOVED_TEMPORARILY(302, Series.REDIRECTION, "Moved Temporarily"),/*** {@code 303 See Other}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.4.4">HTTP/1.1: Semantics and Content, section 6.4.4</a>*/SEE_OTHER(303, Series.REDIRECTION, "See Other"),/*** {@code 304 Not Modified}.* @see <a href="https://tools.ietf.org/html/rfc7232#section-4.1">HTTP/1.1: Conditional Requests, section 4.1</a>*/NOT_MODIFIED(304, Series.REDIRECTION, "Not Modified"),/*** {@code 305 Use Proxy}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.4.5">HTTP/1.1: Semantics and Content, section 6.4.5</a>* @deprecated due to security concerns regarding in-band configuration of a proxy*/@DeprecatedUSE_PROXY(305, Series.REDIRECTION, "Use Proxy"),/*** {@code 307 Temporary Redirect}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.4.7">HTTP/1.1: Semantics and Content, section 6.4.7</a>*/TEMPORARY_REDIRECT(307, Series.REDIRECTION, "Temporary Redirect"),/*** {@code 308 Permanent Redirect}.* @see <a href="https://tools.ietf.org/html/rfc7238">RFC 7238</a>*/PERMANENT_REDIRECT(308, Series.REDIRECTION, "Permanent Redirect"),// --- 4xx Client Error ---/*** {@code 400 Bad Request}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.1">HTTP/1.1: Semantics and Content, section 6.5.1</a>*/BAD_REQUEST(400, Series.CLIENT_ERROR, "Bad Request"),/*** {@code 401 Unauthorized}.* @see <a href="https://tools.ietf.org/html/rfc7235#section-3.1">HTTP/1.1: Authentication, section 3.1</a>*/UNAUTHORIZED(401, Series.CLIENT_ERROR, "Unauthorized"),/*** {@code 402 Payment Required}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.2">HTTP/1.1: Semantics and Content, section 6.5.2</a>*/PAYMENT_REQUIRED(402, Series.CLIENT_ERROR, "Payment Required"),/*** {@code 403 Forbidden}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.3">HTTP/1.1: Semantics and Content, section 6.5.3</a>*/FORBIDDEN(403, Series.CLIENT_ERROR, "Forbidden"),/*** {@code 404 Not Found}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.4">HTTP/1.1: Semantics and Content, section 6.5.4</a>*/NOT_FOUND(404, Series.CLIENT_ERROR, "Not Found"),/*** {@code 405 Method Not Allowed}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.5">HTTP/1.1: Semantics and Content, section 6.5.5</a>*/METHOD_NOT_ALLOWED(405, Series.CLIENT_ERROR, "Method Not Allowed"),/*** {@code 406 Not Acceptable}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.6">HTTP/1.1: Semantics and Content, section 6.5.6</a>*/NOT_ACCEPTABLE(406, Series.CLIENT_ERROR, "Not Acceptable"),/*** {@code 407 Proxy Authentication Required}.* @see <a href="https://tools.ietf.org/html/rfc7235#section-3.2">HTTP/1.1: Authentication, section 3.2</a>*/PROXY_AUTHENTICATION_REQUIRED(407, Series.CLIENT_ERROR, "Proxy Authentication Required"),/*** {@code 408 Request Timeout}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.7">HTTP/1.1: Semantics and Content, section 6.5.7</a>*/REQUEST_TIMEOUT(408, Series.CLIENT_ERROR, "Request Timeout"),/*** {@code 409 Conflict}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.8">HTTP/1.1: Semantics and Content, section 6.5.8</a>*/CONFLICT(409, Series.CLIENT_ERROR, "Conflict"),/*** {@code 410 Gone}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.9">*     HTTP/1.1: Semantics and Content, section 6.5.9</a>*/GONE(410, Series.CLIENT_ERROR, "Gone"),/*** {@code 411 Length Required}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.10">*     HTTP/1.1: Semantics and Content, section 6.5.10</a>*/LENGTH_REQUIRED(411, Series.CLIENT_ERROR, "Length Required"),/*** {@code 412 Precondition failed}.* @see <a href="https://tools.ietf.org/html/rfc7232#section-4.2">*     HTTP/1.1: Conditional Requests, section 4.2</a>*/PRECONDITION_FAILED(412, Series.CLIENT_ERROR, "Precondition Failed"),/*** {@code 413 Payload Too Large}.* @since 4.1* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.11">*     HTTP/1.1: Semantics and Content, section 6.5.11</a>*/PAYLOAD_TOO_LARGE(413, Series.CLIENT_ERROR, "Payload Too Large"),/*** {@code 413 Request Entity Too Large}.* @see <a href="https://tools.ietf.org/html/rfc2616#section-10.4.14">HTTP/1.1, section 10.4.14</a>* @deprecated in favor of {@link #PAYLOAD_TOO_LARGE} which will be* returned from {@code HttpStatus.valueOf(413)}*/@DeprecatedREQUEST_ENTITY_TOO_LARGE(413, Series.CLIENT_ERROR, "Request Entity Too Large"),/*** {@code 414 URI Too Long}.* @since 4.1* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.12">*     HTTP/1.1: Semantics and Content, section 6.5.12</a>*/URI_TOO_LONG(414, Series.CLIENT_ERROR, "URI Too Long"),/*** {@code 414 Request-URI Too Long}.* @see <a href="https://tools.ietf.org/html/rfc2616#section-10.4.15">HTTP/1.1, section 10.4.15</a>* @deprecated in favor of {@link #URI_TOO_LONG} which will be returned from {@code HttpStatus.valueOf(414)}*/@DeprecatedREQUEST_URI_TOO_LONG(414, Series.CLIENT_ERROR, "Request-URI Too Long"),/*** {@code 415 Unsupported Media Type}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.13">*     HTTP/1.1: Semantics and Content, section 6.5.13</a>*/UNSUPPORTED_MEDIA_TYPE(415, Series.CLIENT_ERROR, "Unsupported Media Type"),/*** {@code 416 Requested Range Not Satisfiable}.* @see <a href="https://tools.ietf.org/html/rfc7233#section-4.4">HTTP/1.1: Range Requests, section 4.4</a>*/REQUESTED_RANGE_NOT_SATISFIABLE(416, Series.CLIENT_ERROR, "Requested range not satisfiable"),/*** {@code 417 Expectation Failed}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.5.14">*     HTTP/1.1: Semantics and Content, section 6.5.14</a>*/EXPECTATION_FAILED(417, Series.CLIENT_ERROR, "Expectation Failed"),/*** {@code 418 I'm a teapot}.* @see <a href="https://tools.ietf.org/html/rfc2324#section-2.3.2">HTCPCP/1.0</a>*/I_AM_A_TEAPOT(418, Series.CLIENT_ERROR, "I'm a teapot"),/*** @deprecated See* <a href="https://tools.ietf.org/rfcdiff?difftype=--hwdiff&amp;url2=draft-ietf-webdav-protocol-06.txt">*     WebDAV Draft Changes</a>*/@DeprecatedINSUFFICIENT_SPACE_ON_RESOURCE(419, Series.CLIENT_ERROR, "Insufficient Space On Resource"),/*** @deprecated See* <a href="https://tools.ietf.org/rfcdiff?difftype=--hwdiff&amp;url2=draft-ietf-webdav-protocol-06.txt">*     WebDAV Draft Changes</a>*/@DeprecatedMETHOD_FAILURE(420, Series.CLIENT_ERROR, "Method Failure"),/*** @deprecated* See <a href="https://tools.ietf.org/rfcdiff?difftype=--hwdiff&amp;url2=draft-ietf-webdav-protocol-06.txt">*     WebDAV Draft Changes</a>*/@DeprecatedDESTINATION_LOCKED(421, Series.CLIENT_ERROR, "Destination Locked"),/*** {@code 422 Unprocessable Entity}.* @see <a href="https://tools.ietf.org/html/rfc4918#section-11.2">WebDAV</a>*/UNPROCESSABLE_ENTITY(422, Series.CLIENT_ERROR, "Unprocessable Entity"),/*** {@code 423 Locked}.* @see <a href="https://tools.ietf.org/html/rfc4918#section-11.3">WebDAV</a>*/LOCKED(423, Series.CLIENT_ERROR, "Locked"),/*** {@code 424 Failed Dependency}.* @see <a href="https://tools.ietf.org/html/rfc4918#section-11.4">WebDAV</a>*/FAILED_DEPENDENCY(424, Series.CLIENT_ERROR, "Failed Dependency"),/*** {@code 425 Too Early}.* @since 5.2* @see <a href="https://tools.ietf.org/html/rfc8470">RFC 8470</a>*/TOO_EARLY(425, Series.CLIENT_ERROR, "Too Early"),/*** {@code 426 Upgrade Required}.* @see <a href="https://tools.ietf.org/html/rfc2817#section-6">Upgrading to TLS Within HTTP/1.1</a>*/UPGRADE_REQUIRED(426, Series.CLIENT_ERROR, "Upgrade Required"),/*** {@code 428 Precondition Required}.* @see <a href="https://tools.ietf.org/html/rfc6585#section-3">Additional HTTP Status Codes</a>*/PRECONDITION_REQUIRED(428, Series.CLIENT_ERROR, "Precondition Required"),/*** {@code 429 Too Many Requests}.* @see <a href="https://tools.ietf.org/html/rfc6585#section-4">Additional HTTP Status Codes</a>*/TOO_MANY_REQUESTS(429, Series.CLIENT_ERROR, "Too Many Requests"),/*** {@code 431 Request Header Fields Too Large}.* @see <a href="https://tools.ietf.org/html/rfc6585#section-5">Additional HTTP Status Codes</a>*/REQUEST_HEADER_FIELDS_TOO_LARGE(431, Series.CLIENT_ERROR, "Request Header Fields Too Large"),/*** {@code 451 Unavailable For Legal Reasons}.* @see <a href="https://tools.ietf.org/html/draft-ietf-httpbis-legally-restricted-status-04">* An HTTP Status Code to Report Legal Obstacles</a>* @since 4.3*/UNAVAILABLE_FOR_LEGAL_REASONS(451, Series.CLIENT_ERROR, "Unavailable For Legal Reasons"),// --- 5xx Server Error ---/*** {@code 500 Internal Server Error}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.6.1">HTTP/1.1: Semantics and Content, section 6.6.1</a>*/INTERNAL_SERVER_ERROR(500, Series.SERVER_ERROR, "Internal Server Error"),/*** {@code 501 Not Implemented}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.6.2">HTTP/1.1: Semantics and Content, section 6.6.2</a>*/NOT_IMPLEMENTED(501, Series.SERVER_ERROR, "Not Implemented"),/*** {@code 502 Bad Gateway}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.6.3">HTTP/1.1: Semantics and Content, section 6.6.3</a>*/BAD_GATEWAY(502, Series.SERVER_ERROR, "Bad Gateway"),/*** {@code 503 Service Unavailable}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.6.4">HTTP/1.1: Semantics and Content, section 6.6.4</a>*/SERVICE_UNAVAILABLE(503, Series.SERVER_ERROR, "Service Unavailable"),/*** {@code 504 Gateway Timeout}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.6.5">HTTP/1.1: Semantics and Content, section 6.6.5</a>*/GATEWAY_TIMEOUT(504, Series.SERVER_ERROR, "Gateway Timeout"),/*** {@code 505 HTTP Version Not Supported}.* @see <a href="https://tools.ietf.org/html/rfc7231#section-6.6.6">HTTP/1.1: Semantics and Content, section 6.6.6</a>*/HTTP_VERSION_NOT_SUPPORTED(505, Series.SERVER_ERROR, "HTTP Version not supported"),/*** {@code 506 Variant Also Negotiates}* @see <a href="https://tools.ietf.org/html/rfc2295#section-8.1">Transparent Content Negotiation</a>*/VARIANT_ALSO_NEGOTIATES(506, Series.SERVER_ERROR, "Variant Also Negotiates"),/*** {@code 507 Insufficient Storage}* @see <a href="https://tools.ietf.org/html/rfc4918#section-11.5">WebDAV</a>*/INSUFFICIENT_STORAGE(507, Series.SERVER_ERROR, "Insufficient Storage"),/*** {@code 508 Loop Detected}* @see <a href="https://tools.ietf.org/html/rfc5842#section-7.2">WebDAV Binding Extensions</a>*/LOOP_DETECTED(508, Series.SERVER_ERROR, "Loop Detected"),/*** {@code 509 Bandwidth Limit Exceeded}*/BANDWIDTH_LIMIT_EXCEEDED(509, Series.SERVER_ERROR, "Bandwidth Limit Exceeded"),/*** {@code 510 Not Extended}* @see <a href="https://tools.ietf.org/html/rfc2774#section-7">HTTP Extension Framework</a>*/NOT_EXTENDED(510, Series.SERVER_ERROR, "Not Extended"),/*** {@code 511 Network Authentication Required}.* @see <a href="https://tools.ietf.org/html/rfc6585#section-6">Additional HTTP Status Codes</a>*/NETWORK_AUTHENTICATION_REQUIRED(511, Series.SERVER_ERROR, "Network Authentication Required");private static final HttpStatus[] VALUES;static {VALUES = values();}private final int value;private final Series series;private final String reasonPhrase;HttpStatus(int value, Series series, String reasonPhrase) {this.value = value;this.series = series;this.reasonPhrase = reasonPhrase;}/*** Return the integer value of this status code.*/public int value() {return this.value;}/*** Return the HTTP status series of this status code.* @see HttpStatus.Series*/public Series series() {return this.series;}/*** Return the reason phrase of this status code.*/public String getReasonPhrase() {return this.reasonPhrase;}/*** Whether this status code is in the HTTP series* {@link org.springframework.http.HttpStatus.Series#INFORMATIONAL}.* <p>This is a shortcut for checking the value of {@link #series()}.* @since 4.0* @see #series()*/public boolean is1xxInformational() {return (series() == Series.INFORMATIONAL);}/*** Whether this status code is in the HTTP series* {@link org.springframework.http.HttpStatus.Series#SUCCESSFUL}.* <p>This is a shortcut for checking the value of {@link #series()}.* @since 4.0* @see #series()*/public boolean is2xxSuccessful() {return (series() == Series.SUCCESSFUL);}/*** Whether this status code is in the HTTP series* {@link org.springframework.http.HttpStatus.Series#REDIRECTION}.* <p>This is a shortcut for checking the value of {@link #series()}.* @since 4.0* @see #series()*/public boolean is3xxRedirection() {return (series() == Series.REDIRECTION);}/*** Whether this status code is in the HTTP series* {@link org.springframework.http.HttpStatus.Series#CLIENT_ERROR}.* <p>This is a shortcut for checking the value of {@link #series()}.* @since 4.0* @see #series()*/public boolean is4xxClientError() {return (series() == Series.CLIENT_ERROR);}/*** Whether this status code is in the HTTP series* {@link org.springframework.http.HttpStatus.Series#SERVER_ERROR}.* <p>This is a shortcut for checking the value of {@link #series()}.* @since 4.0* @see #series()*/public boolean is5xxServerError() {return (series() == Series.SERVER_ERROR);}/*** Whether this status code is in the HTTP series* {@link org.springframework.http.HttpStatus.Series#CLIENT_ERROR} or* {@link org.springframework.http.HttpStatus.Series#SERVER_ERROR}.* <p>This is a shortcut for checking the value of {@link #series()}.* @since 5.0* @see #is4xxClientError()* @see #is5xxServerError()*/public boolean isError() {return (is4xxClientError() || is5xxServerError());}/*** Return a string representation of this status code.*/@Overridepublic String toString() {return this.value + " " + name();}/*** Return the {@code HttpStatus} enum constant with the specified numeric value.* @param statusCode the numeric value of the enum to be returned* @return the enum constant with the specified numeric value* @throws IllegalArgumentException if this enum has no constant for the specified numeric value*/public static HttpStatus valueOf(int statusCode) {HttpStatus status = resolve(statusCode);if (status == null) {throw new IllegalArgumentException("No matching constant for [" + statusCode + "]");}return status;}/*** Resolve the given status code to an {@code HttpStatus}, if possible.* @param statusCode the HTTP status code (potentially non-standard)* @return the corresponding {@code HttpStatus}, or {@code null} if not found* @since 5.0*/@Nullablepublic static HttpStatus resolve(int statusCode) {// Use cached VALUES instead of values() to prevent array allocation.for (HttpStatus status : VALUES) {if (status.value == statusCode) {return status;}}return null;}/*** Enumeration of HTTP status series.* <p>Retrievable via {@link HttpStatus#series()}.*/public enum Series {INFORMATIONAL(1),SUCCESSFUL(2),REDIRECTION(3),CLIENT_ERROR(4),SERVER_ERROR(5);private final int value;Series(int value) {this.value = value;}/*** Return the integer value of this status series. Ranges from 1 to 5.*/public int value() {return this.value;}/*** Return the {@code Series} enum constant for the supplied {@code HttpStatus}.* @param status a standard HTTP status enum constant* @return the {@code Series} enum constant for the supplied {@code HttpStatus}* @deprecated as of 5.3, in favor of invoking {@link HttpStatus#series()} directly*/@Deprecatedpublic static Series valueOf(HttpStatus status) {return status.series;}/*** Return the {@code Series} enum constant for the supplied status code.* @param statusCode the HTTP status code (potentially non-standard)* @return the {@code Series} enum constant for the supplied status code* @throws IllegalArgumentException if this enum has no corresponding constant*/public static Series valueOf(int statusCode) {Series series = resolve(statusCode);if (series == null) {throw new IllegalArgumentException("No matching constant for [" + statusCode + "]");}return series;}/*** Resolve the given status code to an {@code HttpStatus.Series}, if possible.* @param statusCode the HTTP status code (potentially non-standard)* @return the corresponding {@code Series}, or {@code null} if not found* @since 5.1.3*/@Nullablepublic static Series resolve(int statusCode) {int seriesCode = statusCode / 100;for (Series series : values()) {if (series.value == seriesCode) {return series;}}return null;}}}

 

 

位于 org.springframework:spring-web 包中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/978533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 9.5 正式发行(GA)【转】

MySQL 9.5创新版于2025年10月21日正式发行,让我们一起快速浏览一下该版本有哪些特性。 MySQL 9.5在账号管理、性能优化、安全性、功能扩展等多个核心领域都有重要更新,其核心是提升管理灵活性、运行性能与安全合规性…

2025年聚氨酯发泡保温厂家联系电话汇总 全国重点企业官方联系方式与高效采购指南

本文基于2025年行业公开数据及中国建筑节能协会保温材料行业报告,结合推荐对象参考内容,从企业资质、产品性能、服务网络等维度筛选5个推荐对象,旨在为聚氨酯发泡保温领域提供可靠联系方案。根据行业统计,聚氨酯保…

2025年北京cppm课程机构权威推荐榜单:cppm课程培训‌/cppm证书‌/cppm考试源头机构精选

在采购与供应链管理专业化要求不断提高的背景下,CPPM(注册职业采购经理)认证已成为衡量采购专业人员能力的重要标准。根据行业数据显示,CPPM认证的市场需求量年均增长率稳定在15%以上,2024年全国报考人数同比增长…

深入解析:缓存异常:缓存穿透、缓存击穿、缓存雪崩

深入解析:缓存异常:缓存穿透、缓存击穿、缓存雪崩pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

湖南人滑雪地天花板!七星岭-不止有滑雪,还有治愈系云海风光

南方人对雪的执念,大抵是刻在骨子里的。不必远赴北方雪城,在湖南周边就藏着一处能沉浸式感受 “千里冰封” 的宝藏地 — 七星岭国际滑雪场。这座盘踞在湘赣边界大围山山脉的高山雪场,距湖南长沙仅170公里,2个多小时…

row_number()、dense_rank()、rank() 函数介绍和应用场景

一、函数介绍 核心差异总结:​row_number():不考虑重复值,强制分配连续唯一序号(即使分数相同,序号也不重复);​rank():允许重复排名,但会跳过重复值占用的序号(如两个第 2 名后,下一名直接是第 4 名);​…

二、使用Spring AI实现基于sse协议的MCP Server

二、使用Spring AI实现基于sse协议的MCP Server ================================================================================== =========================================================================…

2025 年电动窗厂家推荐 爱尚爱铝门窗:全链条铝型材解决方案与技术创新实践,适配多场景需求电动提升窗/微型电动提升窗/电动全景推拉门窗/电动天窗厂家推荐

行业背景 随着全球建筑智能化、绿色化趋势的持续深化,电动窗凭借便捷操控、节能降耗、安全稳定等优势,已成为家居装修、商业建筑及工业领域的重要选择。市场对电动窗的性能要求不断升级,不仅聚焦保温隔热、密封隔音…

三、使用Spring AI实现基于stdio协议的MCP Server

三、使用Spring AI实现基于stdio协议的MCP Server ================================================================================== =======================================================================…

DB2数据库关闭归档模式

db2 connect to micsoccdb2 update db cfg using LOGARCHMETH1 offdb2 terminatedb2stop forcedb2start

家长必看!2025-2026申请季A-Level全日制机构排名(6 家头部详解+三大梯队)

2025年A-Level考试正迎来重大变革。继CAIE考试局宣布在中国考区对数学、进阶数学等六大学科启用独立命题后,爱德思考试局也在6月数学P1-P4单元推出专属"区域卷"。两大考试局虽强调此举旨在提升考试安全与公…

国标GB28181算力算法平台EasyGBS视频监控系统在多领域创新应用

在视频监控与物联网高速发展的今天,海量设备接入、视频数据汇聚与智能分析成为了行业数字化的核心挑战。作为遵循国标GB28181协议的核心平台之一,国标GB28181算法算力平台EasyGBS视频智能服务平台早已超越了传统视频…

南昌滑雪场推荐!七星岭国际滑雪场:解锁冬日限定速度与激情

冬天的仪式感,总少不了一场与雪的亲密邂逅。不想远赴东北,又想在银装素裹中尽情撒欢?南昌周边藏着一处宝藏滑雪地 ——七星岭国际滑雪场,驱车2小时就能抵达,无需长途跋涉,就能解锁冬日限定的速度与激情。 一、2小…

体育赛事赋能创新 亚运奥运多维突破

2025-11-27 17:13:57 体育赛事赋能创新 亚运奥运多维突破|@dOd.HrBfUdOnG.cN@||@dOe.hRbFuDoNg.Cn@||@dOf.HrBfUdOnG.cN@||@dOg.hRbFuDoNg.Cn@||@dOh.HrBfUdOnG.cN@||@dOi.hRbFuDoNg.Cn@||@dUl.ShEnGYuAnRaCkS.cOm@||@…

2025 年 11 月铁盒厂家推荐排行榜,食品铁盒/保健品铁盒/化妆品铁盒/茶叶铁盒/磁吸铁盒/异形铁盒,精选耐用设计与定制工艺之选

2025 年 11 月铁盒厂家推荐排行榜,食品铁盒/保健品铁盒/化妆品铁盒/茶叶铁盒/磁吸铁盒/异形铁盒,精选耐用设计与定制工艺之选 在当今包装产业中,铁盒凭借其出色的密封性、耐用性和环保特性,已成为食品、保健品、化…

2025年下半年冷再生机租赁/水泥板破碎机出租公司前五推荐

随着2025年下半年基建行业的持续发展,冷再生机租赁市场呈现蓬勃态势。本文基于行业调研数据,为工程承包商和施工企业提供五家值得考虑的冷再生机租赁服务商推荐榜单。排名不分先后,仅作参考选择,其中江苏环硕建设有…

详细介绍:【Linux权限 (二)】Linux权限机制深度解析:umask如何决定默认权限与粘滞位的妙用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

SAT提分哪家强?2025杭州/上海6大顶尖机构测评,锁定名校offer

2025年美本、加本及新加坡本科申请季已进入关键冲刺阶段,一份具有竞争力的SAT成绩单,正是杭州、上海学子在万级申请者中脱颖而出的核心筹码。作为长三角留学申请核心城市,杭州、上海的SAT培训市场机构林立,但质量参…

2025年如何选择优质的火锅桌生产厂家?

在选择合适的现代轻奢风火锅桌生产厂家时,首先需要明确自身的需求,包括风格、尺寸和功能等。厂家提供的设计方案与材料选择应符合现代轻奢风格,展示出细腻与高端感。同时,评估厂家的技术实力和生产规范也十分关键,…

2025 年 11 月留香阁食品推荐排行榜,预制菜/调理半成品/咀留香/黑椒牛排,精选优质食材与创新工艺,满足便捷餐饮与家庭烹饪的多重需求!

2025 年 11 月留香阁食品推荐排行榜:预制菜与调理半成品行业深度解析 行业背景与发展趋势 预制菜与调理半成品行业近年来呈现爆发式增长态势,这背后反映了现代生活节奏加快与消费升级的双重驱动。随着城市化进程加速…