Aceptar params de estado repetido para que la puerta de entrada no pueda corromper el filtro

FixDocsService
Se descapó
7 de agosto de 2026 a las 2:32 UTC
Autor
Kamo
Compromit
144dcbb

Abriendo **************** contestado "Estado desconocido: **************** para cada miembro. La cuadrícula de los miembros envió el cubo como un valor CSV. Una coma en un valor de consulta tiene para viajar en %2C, y APIService - la puerta compartida de la pasarela cada /api/docs/** llamada cruces - concateniza la URI ya codificada y la consulta en una cadena simple y manos de esa Cadena a RestTemplate.interrambio. RestTemplate trata una URL de cuerda como un URI TEMPLATE y por ciento lo encodela por segunda vez, por lo que %2C se convirtió en %252C; Tomcat aquí decodificado una vez y parseEstatulos divididos en una coma que ya no estaba allí, valor de fallaDe todo el ejemplo. La pasarela NO se cambia. Lleva /api/docs/**, /api/security/** y cada uno de los otro servicio, y cambiarlo a URI.creado/construirlo(true) cambiaría la codificación semántica para cada llamante en la plataforma a la vez - algunos de los cuales sobreviven sólo debido a ese recodificado. Ese es su propio cambio deliberado con su propia revisión. Así que el carácter reservado sale del alambre en su lugar: estado ahora REPEATS, **************** Los nombres de estado son Sólo, así que el segundo código es un no-op en ellos. - parseStatuses gana una lista.SString sobrecarga que sindicaliza el EXISTING por elemento Regla. El enum parsing no se duplica; todavía hay exactamente un lugar a el nombre del estado se convierte en una constante, tan repetidos params, un solo valor CSV, y La propia coma de la trama de la primavera dividió toda la tierra en el mismo set. - Un CSV sigue funcionando, por lo que el estado de la red HR =EXECUTED y cualquier miembro marcado URL no se toca en el alambre. - Aplicado también a las asignaciones de recursos humanos (listAssignments, listMemenAssignments), no Sólo el miembro, por lo que no se puede filtrar ninguna endpoint legal a través de una coma. - Un token desconocido sigue siendo 400 que lo nombra. Dejando silenciosamente dejarlo página a Filtrar la interfaz de usuario insiste en que se aplica el peor resultado en una cuadrícula de cumplimiento. LegalMemberStatusBindingTest lo pincha en el límite de unión real a través de MockMvc: params repetidos y una resolución CSV al conjunto idéntico, el valor único de HR es sin cambios, una ficha desconocida 400s, y la vieja forma de código doble es rechazada en voz alta en lugar de no emparecer en silencio nada. 401 pruebas, 0 fallos.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios