HTTP プロトコルの 4xx ステータス コードのアプリケーション シナリオと解決策を確認する
はじめに:
Web 開発では、HTTP プロトコルが非常に重要な役割を果たします。これは、クライアントとサーバー間の通信のルールと規則を定義します。このうちステータスコードは、サーバーがリクエストの処理状況をクライアントに伝えるために使用する識別子です。 HTTP プロトコルでは、4xx ステータス コードはクライアント側でエラーが発生したことを示します。この記事では、4xx ステータス コードのアプリケーション シナリオと解決策を検討し、関連するコード例を示します。
1. アプリケーション シナリオ:
400 Bad Request: クライアントが無効なリクエストを送信したことを示します。
401 Unauthorized: クライアントが認証されていないか、認証が失敗したことを示します。
403 禁止: サーバーがリクエストを拒否したことを示します。
404 Not Found: クライアントが要求したリソースが存在しないことを示します。
@RequestMapping(value = "/example", method = RequestMethod.POST) public ResponseEntity<String> example(@RequestBody ExampleRequest request) { if (StringUtils.isBlank(request.getName())) { return ResponseEntity.badRequest().body("Name cannot be blank"); } if (!request.getAge().matches("\d+")) { return ResponseEntity.badRequest().body("Age must be a number"); } // 处理正常流程 return ResponseEntity.ok("Success"); }
public class AuthInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token = request.getHeader("Token"); if (StringUtils.isBlank(token)) { response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.getWriter().println("Authentication failed"); return false; } // 验证Token的合法性 // ... return true; } }
@RequestMapping(value = "/admin", method = RequestMethod.GET) @RequiresRoles("admin") public ResponseEntity<String> admin() { // 处理业务逻辑 }
@RequestMapping(value = "/{id}", method = RequestMethod.GET) public ResponseEntity<String> getResource(@PathVariable("id") String id) { // 查询资源 // 若资源不存在,则返回404 Not Found状态码 if (resource == null) { return ResponseEntity.notFound().build(); } // 处理正常流程 return ResponseEntity.ok("Success"); }
4xx ステータス コードのアプリケーション シナリオと解決策を検討することで、4xx の意味をより深く理解できるようになります。 HTTP プロトコルのステータス コードと、開発中にこれらのエラー状態をより効果的に処理する機能。 4xx ステータス コードを合理的に使用すると、クライアントのユーザー エクスペリエンスが向上し、トラブルシューティングや修復にも役立ちます。
以上がHTTP プロトコルの 4xx ステータス コードの使用例と解決策を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。