Request header field Access-Control-Allow-Headers is not allowed by Access-Control-Allow-Headers

后端 未结 15 1451
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-11-22 16:31

I\'m trying to send files to my server with a post request, but when it sends it causes the error:

Request header field Content-Type is not allowed by

15条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-22 16:46

    In my case, I'm receiving several parameters as @HeaderParam into a web service method.

    These parameters MUST be declared in your CORS filter that way:

    @Provider
    public class CORSFilter implements ContainerResponseFilter {
    
        @Override
        public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
    
            MultivaluedMap headers = responseContext.getHeaders();
    
            headers.add("Access-Control-Allow-Origin", "*");
            ...
            headers.add("Access-Control-Allow-Headers", 
            /*
             * name of the @HeaderParam("name") must be declared here (raw String):
             */
            "name", ...);
            headers.add("Access-Control-Allow-Credentials", "true");
            headers.add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");   
        }
    }
    

提交回复
热议问题