Explorez les scénarios d'application et les solutions des codes d'état 4xx dans le protocole HTTP
Introduction :
Dans le développement Web, le protocole HTTP joue un rôle très important. Il définit les règles et conventions de communication entre clients et serveurs. Parmi eux, le code d'état est un identifiant utilisé par le serveur pour transmettre l'état de traitement de la demande au client. Dans le protocole HTTP, les codes d'état 4xx indiquent qu'une erreur s'est produite côté client. Cet article explorera les scénarios d'application et les solutions des codes d'état 4xx et fournira des exemples de codes pertinents.
1. Scénarios d'application :
400 Mauvaise demande : indique que le client a soumis une demande invalide.
401 Non autorisé : indique que le client n'est pas authentifié ou que l'authentification échoue.
403 Interdit : Indique que le serveur a rejeté la demande.
404 Not Found : Indique que la ressource demandée par le client n'existe pas.
2. Solution :
Solution 400 requêtes incorrectes :
Exemple de code :
@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"); }
401 Solution non autorisée :
Exemple de code :
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; } }
403 Solution interdite :
Exemple de code :
@RequestMapping(value = "/admin", method = RequestMethod.GET) @RequiresRoles("admin") public ResponseEntity<String> admin() { // 处理业务逻辑 }
Solution 404 introuvable :
Exemple de code :
@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"); }
Conclusion :
En explorant les scénarios d'application et les solutions des codes d'état 4xx, nous pouvons mieux comprendre la signification des codes d'état 4xx dans le protocole HTTP et être plus efficaces dans le développement. Gérer ces conditions d'erreur correctement. L'utilisation raisonnable des codes d'état 4xx peut offrir une meilleure expérience utilisateur au client et est également utile pour le dépannage et la réparation.
(Remarque : les exemples de code ci-dessus sont des exemples du framework Java Spring MVC. Les méthodes d'implémentation d'autres langages de programmation et frameworks peuvent être différentes, mais les idées sont similaires)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!