Maison > Java > javaDidacticiel > Comment gérer les requêtes inter-domaines dans le développement de fonctions backend Java ?

Comment gérer les requêtes inter-domaines dans le développement de fonctions backend Java ?

WBOY
Libérer: 2023-08-05 09:40:45
original
1001 Les gens l'ont consulté

Comment gérer les requêtes inter-domaines dans le développement de fonctions backend Java ?

Dans le mode de développement où le front-end et le back-end sont séparés, il est très courant que le front-end envoie des requêtes à l'interface API back-end pour obtenir des données via JavaScript. Cependant, en raison de la politique de même origine du navigateur, il existe des restrictions sur les requêtes inter-domaines. La requête inter-domaines signifie que la page frontale demande des serveurs avec différents noms de domaine, différents ports ou différents protocoles via AJAX et d'autres méthodes. Cet article présentera une méthode courante de gestion des requêtes inter-domaines dans le développement de fonctions back-end Java, avec des exemples de code.

La manière courante de résoudre les problèmes inter-domaines consiste à effectuer les configurations correspondantes sur le backend. Ce qui suit utilise le framework Spring Boot comme exemple pour présenter comment gérer les requêtes inter-domaines.

  1. Ajouter une annotation CrossOrigin

Ajouter une annotation CrossOrigin sur la méthode du contrôleur backend Cette annotation est utilisée pour configurer le nom de domaine, la méthode de requête et d'autres paramètres associés qui autorisent le cross-domain. Voici un exemple :

@RestController
@RequestMapping("/api")
@CrossOrigin(origins = "http://frontend.com", methods = {RequestMethod.GET, RequestMethod.POST})
public class MyController {
    // Controller方法...
}
Copier après la connexion

Dans le code ci-dessus, l'annotation @CrossOrigin spécifie que le nom de domaine de http://frontend.com est autorisé à lancer des requêtes GET et POST. Vous pouvez modifier ces paramètres selon vos besoins.

  1. Configurer la configuration inter-domaines globale de Spring Boot

Grâce au fichier de configuration, le traitement global des requêtes inter-domaines peut être réalisé. Ajoutez la configuration suivante au fichier de configuration du projet Spring Boot (tel que application.properties) :

spring.webmvc.cors.allowed-origins=*
Copier après la connexion

Le code ci-dessus indique que tous les noms de domaine sont autorisés à lancer des requêtes inter-domaines. Vous pouvez également spécifier un nom de domaine spécifique, tel que :

spring.webmvc.cors.allowed-origins=http://frontend1.com,http://frontend2.com
Copier après la connexion
  1. Utiliser un filtre pour gérer les requêtes inter-domaines

En plus des deux méthodes ci-dessus, vous pouvez également utiliser Filter pour gérer les requêtes inter-domaines. Créez une classe qui implémente l'interface Filter, puis ajoutez une logique de traitement inter-domaines dans la méthode doFilter. Voici un exemple :

@Component
public class CorsFilter implements Filter {
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With");

        chain.doFilter(req, res);
    }
}
Copier après la connexion

Dans le code ci-dessus, la configuration permettant d'autoriser les requêtes inter-domaines est implémentée en définissant l'en-tête de réponse.

Pour résumer, il existe de nombreuses façons de gérer les requêtes inter-domaines dans le développement de fonctions backend Java. Choisissez simplement la méthode appropriée en fonction des besoins réels. Ce qui précède fournit un exemple de code pour utiliser les annotations CrossOrigin, configurer la configuration inter-domaine globale de Spring Boot et utiliser Filter pour gérer les requêtes inter-domaines. J'espère que cela vous aidera à résoudre les problèmes inter-domaines pendant le processus de développement.

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:php.cn
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