【系统安全】spring boot 项目 响应标头Access-Control-Allow-Methods: GET,POST,OPTIONS,PUT,DELETE。怎么设置Access-Control-Allow-Methods只有GET和POST

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2023-07-11 13:58
  • 1864人已阅读
简介 springboot项目响应标头Access-Control-Allow-Methods:GET,POST,OPTIONS,PUT,DELETE。怎么设置Access-Control-Allow-Methods只有GET和POST怎么修改返回只有POST和GET呢?在SpringBoot项目中,可以通过在WebMvcConfigurer接口上实现addInterceptors方法来自定义请求拦截器

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

spring boot 项目 响应标头Access-Control-Allow-Methods: GET,POST,OPTIONS,PUT,DELETE。怎么设置Access-Control-Allow-Methods只有GET和POST

b4a344fef4faa7c0d4a1f4c0739425de.png

怎么修改返回只有POST和GET呢 ?

在Spring Boot项目中,可以通过在WebMvcConfigurer接口上实现addInterceptors方法来自定义请求拦截器,并在拦截器中设置响应标头。

下面是一个示例代码,其中只允许GET和POST请求:

package com.kaigejava.common.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new MyInterceptor());
    }

    private class MyInterceptor implements HandlerInterceptor {

        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            response.setHeader("Access-Control-Allow-Methods", "GET,POST");
            return true;
        }
    }
}

修改后:
8b1729328d4acbe9655668cc24aa4ffa.png

TopTop