Ver Mensaje Individual
  #10 (permalink)  
Antiguo 19/12/2019, 15:43
prueba230683
 
Fecha de Ingreso: abril-2011
Mensajes: 170
Antigüedad: 13 años
Puntos: 68
Respuesta: Error con CORS en API REST

No sé, prueba creando con tu IDE un paquete com.ejemplo.filtros:

Código Java:
Ver original
  1. package com.ejemplo.filtros;
  2.  
  3. import javax.ws.rs.container.ContainerRequestContext;
  4. import javax.ws.rs.container.ContainerResponseContext;
  5. import javax.ws.rs.container.ContainerResponseFilter;
  6. import javax.ws.rs.core.MultivaluedMap;
  7. import javax.ws.rs.ext.Provider;
  8. import java.io.IOException;
  9.  
  10. public class ResponseCorsFilter implements ContainerResponseFilter {
  11.  
  12.     @Override
  13.     public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
  14.  
  15.         MultivaluedMap<String, Object> responseHeaders = responseContext.getHeaders();
  16.         String origin = requestContext.getHeaderString("Origin");
  17.  
  18.         responseHeaders.putSingle("Access-Control-Allow-Origin", origin);
  19.         responseHeaders.putSingle("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE, HEAD");
  20.         responseHeaders.putSingle("Access-Control-Allow-Credentials", "true");
  21.  
  22.         String reqHead = requestContext.getHeaderString("Access-Control-Request-Headers");
  23.  
  24.         if (null != reqHead && !reqHead.equals("")) {
  25.                 responseHeaders.putSingle("Access-Control-Allow-Headers", reqHead);
  26.         }
  27.     }
  28. }

Y luego referéncialo como com.ejemplo.filtros.ResponseCorsFilter:

Código XML:
Ver original
  1. <filter>
  2.         <filter-name>miFiltro</filter-name>
  3.         <filter-class>com.ejemplo.filtros.ResponseCorsFilter</filter-class>
  4. </filter>
  5.  
  6. <filter-mapping>
  7.         <filter-name>miFiltro</filter-name>
  8.         <url-pattern>/login</url-pattern>
  9. </filter-mapping>

Si esto no funciona, la última opción que me queda es añadir las cabeceras vía .htaccess.

Última edición por prueba230683; 19/12/2019 a las 22:30