- Spegnimento
- 27 agosto 2026 alle ore 15:42 UTC
- Autore
- Kamo
- Impegno
- ddab3e3
`commerce vendors.uid` è `INT8 DEFAULT Unique rowid()` -- circa 19 cifre, dove `Numero. MAX SAFE INTEGER` ha sedici anni. Un id numerico di quella dimensione è un IEEE-754 doppio in un browser e `JSON.parse` arrotonda prima di qualsiasi codice client corre, così il id nomina un fornitore che non esiste e il raccoglitore che si impegna un venditore su un ordine di lavoro non impegna nessuno, con un 400 che legge come un bug in la scheda. Non c'e' niente che si butta da nessuna parte. Sicurezza Servizio già citato un `Long` fuori linea sulla via d'uscita -- `JsSafeLongSerializer`, indirizzato ai convertitori di messaggi MVC da `HttpWireJacksonConfig`, deliberatamente non globale perché registrarlo sulla mapper condiviso stringa id di sessione *** e risponde a 401 piattaforma su scala. Quindi un vero fornitore id ha raggiunto il browser intatto. Che cosa quel serializzatore non può dare è un tipo *stabile*: la sua regola è per valore, quindi un 19-digit id era un JSON stringa e un 3-digit a mano un numero JSON, sullo stesso campo, nello stessa risposta. `posApi.Vendor` ha dichiarato `uid: numero` e ha sbagliato circa filari di produzione e destra su file di prova, che è il peggiore di entrambi. Così `VendorDTO` digita i suoi tre ids `String` e `toVendorDTO` li stringa, la regola `ServiceJobApi` e `ServiceTaskBookApi` già stato. La risposta è ora lo stesso per ogni riga e ogni valore, che è ciò che lascia un cliente dichiarare il campo. `idOrNull` mantiene un id null assente piuttosto che inviare quattro caratteri "null", che un nudo `String.valueOf` avrebbe. `Vendor.uid` rimane una chiave principale `Long` e `POSController`' `@PathVariable Long id` ancora lega -- La primavera converte l'integer citato esattamente come ha convertito quello nudo. Questo e' un cambio di formato filo, niente DDL. `VendorWireContratto Test ` pins esso, compreso il mezzo di valore-range serializzatore si sbaglia: un *piccolo * id è citato troppo.