Как установить кодировку заголовка Content-Type в OpenRasta
Когда я возвращаю свой объект как JSON через JsonDataContractCodec, OpenRasta устанавливает заголовок Content-Type в
Применение / JSON
но игнорирует часть кодировки типа содержимого.
Когда я использую Chrome, он отправляет запрос GET с следующим заголовком:
Accept-Charset: Windows-1251, UTF-8; д =0,7,*; д =0,3
и все мои объекты json в кодировке utf-8 идут не так.
Я попытался переопределить OperationResult безуспешно. OpenRasta перезаписывает мой заголовок кодом заголовка.
1 ответ
Решение
Просто нашел способ - унаследовать от JsonCoder и применить MediaTypeAttribute
:
[MediaType("application/json; charset=utf8")]
public class JsonWithEncoding:JsonDataContractCodec
{
}
И зарегистрировать обработчик с помощью:
ResourceSpace.Has
.ResourcesOfType<IEnumerable<ProfileResource>>()
.AtUri("/profiles")
.HandledBy<ProfileHandler>()
.TranscodedBy<JsonWithEncoding>();
Но этот способ очень статичен:(