Ho una domanda sull'architettura e vorrei conoscere la tua opinione.
Dato un prodotto formato da un'API e diversi consumatori (app Android, app iOS, app web ...), dove devo implementare i dati di risposta dell'API < strong> localizzazione ? Nell'API stessa o in ciascun consumatore? Quando faccio riferimento alla risposta dei dati intendo le date di formattazione, i numeri, le valute e gli errori di traduzione.
Credo che localizzare quel tipo di dati nell'API stessa, avendo in mente standard adeguati come ISO 639 o intestazione HTTP "Accept-Language", dovrebbe essere la strada da seguire per migliorare la coerenza tra tutti i consumatori. Questo approccio mi fa pensare a due problemi principali:
- Aumentare il lavoro dell'API potrebbe comportare problemi di prestazioni se il prodotto scala.
- Sarà un mal di testa quando si tenta di manipolare i dati di risposta dell'API nei consumatori e si può ridurre l'ambito di azione dei consumatori. Illustriamo questo : il consumatore è un'applicazione Javascript con le impostazioni internazionali impostate su "spagnolo". Richiede che API e API rispondano con un float formattato (ad esempio "1.300,21"). Il JS deve generare un grafico usando tale float, ma fallirà a causa delle migliaia e dei separatori decimali.
Che ne pensi? Come lo risolveresti?