Kiedy wysyłam żądanie POST z treścią JSON do mojej usługi REST, dołączam Content-type: application/json; charset=utf-8
do nagłówka komunikatu. Bez tego nagłówka otrzymuję błąd z usługi. Mogę również z powodzeniem korzystać Content-type: application/json
bez ;charset=utf-8
porcji.
Co dokładnie robi charset=utf-8
? Wiem, że określa kodowanie znaków, ale usługa działa bez niego. Czy to kodowanie ogranicza znaki, które mogą znajdować się w treści wiadomości?
application/json
, wydaje się, że nie ma charset
w ogóle obsługiwanego parametru, choć często jest on dostarczany w praktyce.
I know it specifies the character encoding but the service works fine without it.
„działający” nie zawsze oznacza „istniejący kod / konfiguracja jest najbardziej poprawnym sposobem obejmującym wszystkie narożne przypadki, aby wykonać jedną rzecz”. Zależy to od wszystkich konwencji i założeń, które mogą nie działać w innych okolicznościach. Dla mnie osobiście zawsze staram się być tak wyraźny, jak to możliwe.