Maison > Java > 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
Libérer: 2024-02-11 10:48:08
avant
817 Les gens l'ont consulté

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);

   }
}
Copier après la connexion

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);
    }
}
Copier après la connexion

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);
    }

}
Copier après la connexion

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!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal