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.
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方法... }
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.
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=*
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
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); } }
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!