Maison  >  Article  >  Comment supprimer l'erreur "La méthode de demande 'GET' n'est pas prise en charge" de l'écran en Java

Comment supprimer l'erreur "La méthode de demande 'GET' n'est pas prise en charge" de l'écran en Java

WBOY
WBOYavant
2024-02-11 10:48:08701parcourir

L'éditeur php Banana vous présentera comment résoudre l'erreur "La méthode de requête 'GET' n'est pas prise en charge" qui apparaît en Java. Cette erreur se produit lorsque nous utilisons une méthode de requête non prise en charge pendant le développement. Il existe deux façons de résoudre ce problème : l'une consiste à modifier la méthode de requête pour qu'elle corresponde à la méthode prise en charge, l'autre consiste à configurer le fichier web.xml pour ajouter la méthode prise en charge. Quelle que soit la méthode utilisée, elle peut vous aider à résoudre facilement ce problème et à rendre votre application Java plus stable et fiable. Ensuite, nous présenterons en détail les étapes spécifiques de ces deux méthodes.

Contenu de la question

Lorsque j'accède à l'API url dans le navigateur, cette erreur apparaît à l'écran :

La méthode de requête "get" n'est pas prise en charge

Ce que je veux, c'est éliminer complètement cette erreur lorsque je visite l'url directement dans le navigateur. J'ai essayé de créer une logique de gestionnaire d'exceptions pour détecter l'erreur et afficher du texte vide, mais cela ne fonctionne pas

Voici mon code :

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.HttpRequestMethodNotSupportedException;

@controllerAdvice
public class GlobalExceptionHandler{
    @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
    public ResponseEntity<String> handleMethodNotAllowedExceptionException(HttpRequestMethodNotSupportedException ex){
   
      return new ResponseEntity<>("",HttpStatus.METHOD_NOT_ALLOWED);

   }
}

Existe-t-il un moyen de supprimer cette erreur de l'écran ? Toute aide serait grandement appréciée.

Solution

Dans Spring Boot 3.2, ce code fonctionne parfaitement :

import org.springframework.http.httpstatus;
import org.springframework.http.responseentity;
import org.springframework.web.bind.annotation.controlleradvice;
import org.springframework.web.bind.annotation.exceptionhandler;
import org.springframework.web.httprequestmethodnotsupportedexception;

@controlleradvice
public class globalexceptionhandler {
    @exceptionhandler(httprequestmethodnotsupportedexception.class)
    public responseentity<string> exceptionhandler(httprequestmethodnotsupportedexception ex) {
        return new responseentity<>("", httpstatus.method_not_allowed);
    }
}

Si votre projet n'a pas la possibilité globalexceptionhandler,则意味着存在发现问题,或者您有另一个 exceptionhandlerbean de remplacer ce gestionnaire d'une manière ou d'une autre. Assurez-vous de mettre à jour votre projet vers la dernière version et de mettre à jour les globalexceptionhandler classes dans les packages détectables au printemps.

Par exemple, si l'application est définie comme suit :

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

Assurez-vous de mettre la classe globalexceptionhandler 类放入 com.example.demo dans le package com.example.demo ou ses sous-packages.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer