Как расшифровать гоа: Краткое описание индийского штата Гоа (Goa) — География

Гоа (Индия): информация о штате ГОА

Автор Антон Мальцев Просмотров 2.8к. Опубликовано Обновлено

Что такое Гоа? Почему у заядлых туристов это место ассоциируется с непревзойденной природной красотой и незабываемым отдыхом? Сегодня мы узнаем о том, что же такого особенного таит в себе Гоа и почему он привлекает такое большое количество путешественников.

Информация о штате

Содержание

Штат Гоа в Индии

Гоа – это самый маленький штат в Индии, которых здесь насчитывается 28. Но, несмотря на его относительно скромную площадь в 3702 км², 100-километровую протяженность с юга на север и ширину всего 65 км, этот штат является одним из самых популярных. Здесь невероятная тропическая природа, бесконечные золотые пляжи с бархатистым песком и бескрайний океан.

  1. На востоке и юге Гоа граничит с Карнатакой, а на севере – со штатом Махараштра. Западная часть омывается Аравийским морем Индийского океана. На востоке Гоа плавно переходит в горную цепь Сахьядри (Западные Гаты).
  2. Столицей Гоа является Панаджи (Панжим), расположенный в 30 км от Международного аэропорта Даболим. Однако, хоть Панаджи и столица, самым крупным в штате является город Васко-да-Гама.
  3. Территория этого штата пронизана крупными и мелкими реками. Самые крупные реки – Зуари, Мандови, Чапора. Здесь же расположены великолепные водопады, озера и внушительные по своим площадям плантации специй.

Попадая в Гоа, туристы замечают, что здесь чувствуется влияние европейской культуры. Это отражается в архитектуре, еде, некоторых традициях и многом другом. И это вполне объяснимо. Дело в том, что с XVI по XX столетия Гоа был колонией Португалии. Считается, что в этом штате гораздо больше образованных людей, а также уровень жизни значительно выше, чем в других индийских штатах, которые не испытывали многовековое влияние европейской культуры.

Влияние Португалии способствовало и формированию многоязычия на территории штата. Хоть большинство коренных жителей разговаривают на языке конкани, имеющим общие корни с маратхи, гуджарати и хинди, часть населения свободно изъясняется еще и на португальском. Английский язык здесь тоже не чужд. А все благодаря хиппи, которые в 60-х годах прошлого века обосновались именно тут.

Сегодня Гоа – всемирно известный курорт, притягивающий тысячи туристов. Лучше всего сюда приезжать и прилетать в ноябре-феврале. Декабрь и январь вообще считаются наиболее благоприятными туристическими сезонами, поэтому лучше заранее побеспокоиться о своем проживании и забронировать номер в гостинице или какое-либо другое «приличное» жилище вовремя.

Кстати, некоторых интересует, а как расшифровывается ГОА? Пояснение очень простое: Гоа – это не аббревиатура, а обычное название штата, поэтому расшифровки попросту не существует.

Влияние Португалии на Панаджи (Панджим) – столицу Гоа

Южный и Северный Гоа

Этот штат подразделяется на два округа: Южный Гоа и Северный Гоа. Они так похожи, но при этом так отличаются. Прежде всего, по степени привлекательности для туристов.

Южное Гоа – это место отдыха индийских богачей и европейцев со средним достатком, так как стоимость различных услуг на порядок выше, чем в Северном Гоа. Здесь очень много гостиниц уровня 4 и 5 звезд, роскошных ресторанов, салонов и прочих мест элитного отдыха. В Южном Гоа пляжи с невероятно белым песком и чистым побережьем. Много сочной зелени пальм и других тропических растений. Здесь царит спокойная атмосфера, туристы предаются размеренному отдыху.

В Северном Гоа картина несколько иная. В этих местах гораздо меньше отелей, да и те в большинстве случаев не выше уровня 2 и 3 «звезды». Плотность населения здесь значительно больше. Хоть пляжи и не с таким белоснежным песком, да и вода не очень прозрачная, это, однако, сглаживается дешевизной проживания, услуг и разных видов развлечений. В Северном Гоа значительно больше туристов из разных стран мира с небольшим материальным достатком, много молодежи и просто тех, кто любит недорогой отдых в тропических широтах. Именно в этих местах зародилось довольно популярное направление в музыке, как «Goa-trance». Если вам по душе этот музыкальный стиль или, наоборот, вы только хотите о нем узнать, приезжайте именно сюда. Зажигательные транс-вечеринки на местных пляжах проводятся с завидным постоянством.

Вовсе не важно, куда вы отправитесь – в Южный или Северный Гоа. Повсюду имеются потрясающе красивые пейзажи, доброжелательные люди и масса развлечений.

Большое разнообразие отелей от 1 до 5 звезд

Как добраться до Гоа

Так как Гоа – штат в Индии, для его посещения потребуется оформление индийской визы, поэтому побеспокойтесь об этом заранее.

Наиболее удобный и быстрый способ добраться до Гоа – это прилететь на самолете непосредственно в аэропорт штата Даболим. Кстати, в статье “10 способов купить авиабилет в Индию намного дешевле” и “Как купить недорогие билеты на самолёт” рассказаны возможности экономии на перелётах в Индию. Из некоторых крупных городов осуществляются прямые рейсы, но чаще всего туристам приходится добираться с пересадкой, например, через такие города как Доху (Катар), Абу-Даби (ОАЭ) и пр.

Но если вам по душе более длительные путешествия, можно приехать в Гоа на поезде из Дели или Мумбая. Для самых отчаянных искателей приключений есть еще один вариант – приехать на автомобиле. Однако, этот путь будет очень долгим.

На фото элитный поезд Махараджа Экспресс из Дели в Мумбаи

 

На чем передвигаться

По прибытию в Гоа возникает вопрос: а на чем, собственно, передвигаться по штату. Поспешим ответить: здесь используются самые разные виды транспорта.

  1. Автобусы – пожалуй, один из самых дешевых видов транспорта в штате. Его большой плюс в том, что за поездку с вас возьму строго фиксированную цену. Номеров у автобусов нет, поэтому ориентироваться нужно только на названия, написанные на табличках.
  2. Такси – распространенный вид транспорта среди туристов. Если пользоваться услугами таксистов-частников, то нужно быть готовым к тому, что цена за поездку будет несколько завышена.
  3. Вело- и моторикши – также популярный вид транспорта в Гоа, привлекающий туристов своей невысокой ценой. Есть как сертифицированные рикши, так и работающие неофициально. Следует оговорить все нюансы еще перед началом поездки, чтобы не переплатить.
  4. Аренда велосипеда, мотоцикла или скутера – выгодный и удобный транспорт для самостоятельного перемещения по Гоа.
  5. Аренда автомобиля с водителем и без. Этот вариант больше подходит тем, кто приехал на длительный период, так как выгоднее арендовать авто минимум на месяц. Но, стоит учесть, что по городам не очень удобно передвигаться на машине. Многие улицы довольно узкие, да и порой образуются на дорогах пробки, отчего проехать будет не так просто.
  6. Поезда. С помощью поездов можно перемещаться как по штату, так и выезжать за его пределы. Например, из других штатов поезда прибывают на железнодорожную станцию Мадгаон в Маргао. Стоимость проезда зависит от расстояния и класса вагона (и, соответственно, комфортабельности). Если бюджет ограничен, проехаться можно по совсем небольшой цене в вагонах класса 2S, SL, CC и EC.
  7. Лодки и паромы. Среди туристов данный вид транспорта используется чаще всего для речных и морских прогулок. Например, местные компании могут предложить осмотреть дальние пляжи, немного порыбачить или понаблюдать за дельфинами.

Как видно, в Гоа транспортная структура довольно разнообразна. Выбирайте то, что вам и по душе, и по карману.

Велорикша в качестве транспорта

Достопримечательности Гоа, которые обязательно нужно посетить

Тут есть куда съездить и на что посмотреть, несмотря на достаточно скромные масштабы штата:

  1. Крепостные сооружения:
  • Крепость Агуада с уже недействующим маяком, находящаяся на окраине пляжа Кандолим. Форт был возведен в начале XII века колонизаторами, чтобы защитить территорию от вмешательства британцев и немцев.
  • Форт Корджум, расположенный неподалеку от поселения Алдона. Возведен в 1705 году португальцами.
  • Форт Чапора, построенный в 1612 году. С конца XIX века лежит в руинах, но все равно, отсюда открывается потрясающий вид на океан.
  1. Старый Гоа – это город, наиболее посещаемый туристами. Здесь представлена потрясающая архитектура времен XVI столетия, созданная португальцами. Вот некоторые из памятных мест Старого Гоа:
  • Собор святой Екатерины, в котором находится «Золотой колокол», купель Франциска Ксаверия (покровителя Гоа), капелла Чудесного Креста.
  • Археологический музей.
  • Базилика Бом Иисуса (младенца Иисуса).
  • Церковь святого Каэтана.
  • Музей христианского искусства.
  1. Заповедники:
  • «Бхагван Махавир» – самый большой заповедник Гоа. Он занимает площадь 240 км² и располагается на склонах Западных Гат.
  • «Котигао» (площадь – 86 км²).
  • «Бандла» (8 км²)
  • «Мхадей Уайлдлайф» – резиденция Бенгальских тигров.
  • Птичий заповедник «Салима Али» на острове Чорао, недалеко от Панаджи.

Достопримечательностей в Гоа гораздо больше, чем мы перечислили. Осмотреть стоит не только архитектурные произведения, но и природные красоты. Очень красивы индийские водопады, например, водопад Дудхсагар поразит своим величием. Еще в Гоа невероятное количество плантаций, на которых выращивают различные пряности и специи, поэтому есть возможность своими глазами увидеть растущие кориандр, куркуму, горчицу, чили, корицу, шафран и пр.

Собор Святой Екатерины

 

Развлечения в Гоа

Безусловно, одно из развлечений в Гоа – это осмотр достопримечательностей, часть из которых мы описывали выше. Кафе, ресторанов и прочих заведений здесь хватает, поэтому даже не будем останавливаться на этом. Укажем некоторые виды досуга, которые, возможно, заинтересуют путешественников:

  1. Дайвинг. Аравийское море богато подводной флорой и фауной. Разнообразие рыб, кораллы, красочные водоросли, затонувшие старинные корабли и много всего другого… Конечно, при отсутствии соответствующего опыта погружаться под воду стоит под руководством инструктора. Доступны и другие виды активного водного отдыха – кайтинг, виндсерфинг, парасейлинг и др.
  2. Посещение центров Аюрведы, где можно оздоровиться, очистить организм и полноценно расслабиться.
  3. Многочисленные экскурсии к разным историческим или просто красивым местам Гоа.
  4. Шоппинг. Здесь много мест, где можно недорого купить замечательные сувениры и полезные вещицы, которые будут долго напоминать о поездке в этот удивительный индийский штат.
  5. Плантация специй «Савой». Помимо всяческих ароматных пряностей здесь растут экзотические фрукты. Потрясающее зрелище!

Ну и, конечно же, для многих туристов одно из прекрасных времяпровождений в Гоа – это посещение пляжей. Их здесь целое множество. Пожалуй, сам Гоа – это большой пляж. Нежиться на теплом песке, плескаться в водах Индийского океана, потягивать прохладные коктейли в тени пальм… Многие едут сюда именно за этим. На нашем сайте indiada.ru можно посмотреть и скачать карту этого штата.

Также рекомендуем почитать про деревню Сиолим с её уютной гоанской атмосферой.

В Гоа каждый найдет для себя что-то особенное. Если есть сомнения относительно того, стоит ли ехать сюда, то ответ однозначный: непременно стоит.

Штат Гоа в цифрах

Го́а ( गोआ на государственном языке хинди) — самый маленький по территории штат Индии и 26-й по населению (из 29 штатов).

География. Расположен на западном побережье Индии. Площадь 3702 км², из них 125 км² занято лесами. Горная цепь Западные Гаты протянулась на 1600 км. с севера на юг, захватывая 5 штатов, включая Гоа. Горы окружают Гоа с севера, востока и юга и создают особый микроклимат. По хребту гор проходит граница с соседним штатом Карнатака. Граница со штатом Махараштра на севере лежит по реке Тиракол. Самая высокая точка Гоа достигает 1167 м над уровнем моря. Береговая линия Гоа сильно изрезана устьями рек, большинство которых берет свое начало в Западных Гатах. Крупнейшими реками являются Мандови, Зуари и Чаппора.


Расстояние по дороге до крупнейшего города Индии Мумбая (Бомбея) составляет 594 км. Самолетом из Мумбая в Гоа можно добраться за 1 час, а на поезде или автобусе — за 10-12 часов. Из столицы Индии Дели путь в Гоа займет 2 часа 40 минут на самолете и от 27 до 42 часов на поезде.

История. До 1510 г. Гоа был территорией, входящей в мусульманский султанат Бахмани. С 1510 до 1961 гг. Гоа оставался колонией Португалии в Индии (всего 451 год).  Васко да Гама — первый город в Гоа, основанный португальцами в 1545 г. и названный в честь мореплавателя, открывшего в 1498 г. морской путь в Индию из Европы после 10 месяцев плавания. Сейчас Васко да Гама — это крупный морской порт Индии, а вместе с городом Маргао является еще и главной ж/д станцией Гоа. Аэропорт построен рядом с г. Васко да Гама и называется Даболим. Это военный аэропорт и гражданским воздушным судам запрещено осуществлять рейсы ночью. В 2015 г. открылось новое здание аэровокзала.


В 1961 г. Гоа стал союзной территорией Индии под названием Гоа, Даман и Диу. 30 мая 1987 г. стал 25 штатом Индии (сейчас в Индии 28 штатов). Даман и Диу остался, между тем, союзной территорией.

Гоа разделен на два района: северный Гоа с главным городом Мапуса и южный Гоа с главным городом Маргао. В свою очередь районы делятся на более мелкие образования — талуки. На юге 5 талуков со 150 деревнями, на севере 6 талуков и 233 деревни. Столица Гоа — город Панаджи (Панджим до 1997 г.) с населением около 100 тыс. человек.

Население штата составляет 3 млн. 105 тыс. человек (2017 г.). Плотность населения — 839 человека на 1 км². Мужчин в Гоа 51 %, женщин 49 %. Больше половины всех жителей живет на севере штата. Число новорожденных и умерших на 1 тыс. человек соответственно 16 и 7.5 человек. Число смертей среди новорожденных 16 на 1 тыс. рожениц. 66 % населения люди в возрасте от 15 до 59 лет, 25 % населения — дети до 15 лет, 9 % — люди старше 60 лет. Религия: 66 % — хинду (веруют в индуизм), 27 % — христиане, 8 % — мусульмане.


В Гоа самый большой в Индии доход на душу населения. Средний возраст вступления в брак 25 лет для женщин и 30 лет для мужчин.

Грамотность населения в 2017 г. составила 82 %, что является вторым показателем после штата Керала. Практически все выпускники средних школ владеют тремя языками: конкани (родной язык для 62 % жителей), хинди и английский (государственные языки). 27 % населения также владеют четвертым языком маратхи (язык родственный конкани), 2.8 % — урду, 3 % — языком каннада. 2 % населения считают родным хинди и владеют вторым языком английским. Очень пожилые люди владеют португальским языком. В Гоа 164 библиотеки, свыше 2 тыс. школ, 70 колледжей, 1 университет, 34 государственные больницы, частных клиник 132. Количество коек в государственных лечебных учреждениях около 3 тыс., в частных около 2 тыс. 


Экономика. Добыча марганцевой руды составляет 40 % дохода штата, примерно столько же приходится на туризм; развито производство цемента, удобрений, сахара; построены заводы Coca Cola и Nestle; важную роль играет рыболовство; в сельском хозяйстве выращивается рис, сахарный тростник, каучук, специи, кешью, бананы, кокосы; морской порт обеспечивает грузоперевозки.

В штате 465 банковских офисов, официальных такси (черно-желтого цвета) — 375, почтовых отделений — 538, ветеринарных клиник — 5, число забиваемых животных в год — свыше 92 тыс. голов, в животноводческих хозяйствах Гоа: 790 тыс. особей птицы,105 тыс. свиней, 40 тыс. буйволов, зарегистрировано 783 повозок, запряженных волами.

Число осадков в год 3150 мм. Почти все осадки выпадают в период с середины мая по середину октября. В июле Гоа является самым дождливым местом в Индии. 

Поездка по Гоа 

goa :: Первое в разработке поколение API

Обзор

goa поддерживает гибкую стратегию кодирования и декодирования, которая позволяет связывать произвольные кодировщики и декодеры с заданными типами контента ответа и запроса. По умолчанию все сервисы гоа может декодировать и кодировать JSON, XML и gob.

Декодирование

Декодер goa просматривает заголовок входящего запроса Content-Type и сопоставляет его с декодером.

По умолчанию application/json сопоставляется с декодером JSON, application/xml в декодер XML и application/gob в декодер капель. Декодер JSON также используется, когда Content-Type заголовок отсутствует или не соответствует одному из известных значений. При неудачном декодировании goa пишет ошибку ответ, используя код состояния 400, используя ЭррИнвалидэнкодинг error для записи тела (см. раздел Обработка ошибок для получения дополнительной информации о как ошибки преобразуются в ответы HTTP).

Кодирование

Кодер goa смотрит на Принять заголовок входящего запроса и реализовать простое содержимое алгоритм согласования, чтобы сопоставить его с кодировщиками, доступными службе. Аналогично декодер по умолчанию поддерживает JSON, XML и gob. Также по умолчанию используется JSON, если нет Принять заголовок или если его значение не соответствует одному из известных типов контента.

Использование пользовательских декодеров

Существует множество причин, по которым вашей службе может потребоваться использовать разные декодеры. Например, вы можете захотеть для переключения с пакета stdlib JSON на пользовательский пакет, который может обеспечить производительность улучшение для вашего варианта использования. Вам также может потребоваться поддержка различных форматов сериализации, таких как пакет сообщений .

goa определяет интерфейс, который должен реализовать декодер для подключения к службе goa. interface is:

 // Декодер демаршалирует io.Reader в интерфейс.
Интерфейс декодера {
Ошибка декодирования (v интерфейс {})
}
 

Декодер также может реализовать интерфейс сбрасываемого декодера, который добавляет метод Reset :

 // ResettableDecoder используется для определения того, можно ли сбросить декодер и, следовательно,
// безопасное повторное использование в sync.Pool.
Интерфейс ResettableDecoder {
Декодер
Сброс(r io.Reader)
}
 

Декодер, реализующий ResettableDecoder , позволяет goa поддерживать пул повторно используемые экземпляры, тем самым значительно сокращая накладные расходы на создание декодеров для каждого запрос.

goa также определяет сигнатуру функции для конструктора декодера, который он использует для создания экземпляров. декодера:

 // DecoderFunc создает экземпляр декодера, который декодирует данные, считанные из данного считывателя ввода-вывода.
DecoderFunc func(r io.Reader) Декодер
 

Пакеты, реализующие пользовательские декодеры, должны предоставлять Функция NewDecoder (по умолчанию, см. ниже) который реализует DecoderFunc . Код, сгенерированный goa, автоматически вызывает эту функцию для создания новый декодер для декодирования полезной нагрузки входящего запроса.

Настройка пользовательских декодеров

Использование настраиваемого декодера представляет собой простой двухэтапный процесс:

  1. Дизайн службы должен использовать Потребляет Функция DSL для отображения типов контента и соответствующих пакетов декодера, а также опционально функция.

  2. Пакет, реализующий описанную выше функцию DecoderFunc , должен быть импортирован услуга.

приложение goagen позаботится о создании кода, который настраивает сервисные декодеры (в controllers.go (файл , если вам интересно).

Consumes DSL позволяет переопределить имя функции пакета, используемой для создания декодеров через Function DSL:

 Consumes("application/json", func() {
        Пакет("github.com/myjsondecoder")
        Функция("ПользовательскийНовыйДекодер")
    })
 

Установка декодера по умолчанию

Декодер по умолчанию — это декодер, который используется, когда отсутствует заголовок входящего запроса Content-Type или не соответствует ни одному из типов контента, определенных в Consumes DSL. Это первый декодер быть перечислены в потребляет DSL. Если декодер не указан, то сгенерированный код по умолчанию соответствует stdlib декодер JSON.

Встроенные пользовательские декодеры

goa поставляется с несколькими пользовательскими декодерами (или, точнее, адаптерами для внешних декодеров), которые охватывают binc , cbor , msgpack и JSON ugorji декодер. Взяв в качестве примера msgpack , схема будет выглядеть так:

 var _ = API("My API", func() {
    // ...
    Consumes("application/msgpack", func() {
        Пакет("github.com/goadesign/goa/encoding/msgpack")
    })
    // ...
})
 

И это все, что нужно сделать. Гоа msgpack пакет раскрывает НовыйДекодер Функция и сгенерированный код заботятся о настройке декодера goa.

Использование пользовательских кодировщиков

Механизм использования пользовательских кодировщиков очень похож на использование пользовательских декодеров. Кодер должен реализовать интерфейс Encoder :

 // кодировщик маршалирует из интерфейса в io.Writer.
Интерфейс кодировщика {
Ошибка кодирования (v интерфейс {})
}
 

Он также может дополнительно реализовывать интерфейс ResettableEncoder , что позволяет использовать синхронизацию pools:

 // ResettableEncoder используется для определения того, можно ли сбросить Encoder и
// Таким образом безопасно повторно использовать в sync.
Pool. Интерфейс ResettableEncoder { Кодер Сброс (без io.Writer) }

Пакет кодировщика должен реализовать функцию NewEncoder со следующей сигнатурой:

 // EncoderFunc создает экземпляр кодировщика, который кодирует данные в заданный модуль записи.
Функция EncoderFunc(без записи.) Кодировщик
 

Настройка пользовательских кодировщиков

Функция DSL для указания пользовательских кодировщиков Производит, он поддерживает тот же синтаксис, что и . Потребляет :

 var _ = API("Мой API", func() {
    // ...
    Производит("приложение/msgpack", func() {
        Пакет("github.com/goadesign/goa/encoding/msgpack")
    })
    // ...
})
 

Как и в случае с декодерами, первый кодер, указанный в DSL, становится кодером по умолчанию, используемым при входящий запрос Заголовок Accept отсутствует или не соответствует ни одному из типов содержимого, перечисленных в дизайн. Если кодировщик не указан в проекте, сгенерированный код по умолчанию использует stdlib JSON.

энкодер.

HTTP-кодирование · Гоа :: Дизайн прежде всего.


Обзор

Goa поддерживает гибкую стратегию кодирования и декодирования, которая позволяет кодировщики и декодеры с заданными типами содержимого HTTP-ответа и запроса. Кодер — это структура который реализует интерфейс Encoder, в то время как decoder реализует интерфейс Decoder.

Сгенерированные конструкторы сервера принимают функции конструктора кодировщика и декодера в качестве аргумента что позволяет предоставлять произвольные реализации. Goa поставляется с кодировщиками по умолчанию и декодеры, поддерживающие JSON, XML и gob. Здесь подпись конструктора сервера, сгенерированного Goa для базовый пример:

 // New создает обработчики HTTP для всех конечных точек службы calc.
функция Новый(
e *divider.Конечные точки,
мультиплексор goahttp.Muxer,
функция декодера (*http.Request) goahttp.Decoder,
функция кодировщика (context.Context, http.ResponseWriter) goahttp.Encoder,
функция обработчика ошибок (context.
Context, http.ResponseWriter, ошибка), функция форматирования (контекст.Контекст, ошибка ошибки) goahttp.Statuser ) *Сервер

Аргумент декодер — это функция, которая принимает запрос и возвращает декодер. Гоа вызывает это функция для каждого запроса, позволяющая предоставлять разные декодеры для разных HTTP-запросов. Запросы. Аргумент кодировщик — это функция, которая принимает контекст и средство записи ответа HTTP и возвращает кодировщик.

Конструкторы кодировщика и декодера по умолчанию

Пакет Goa предоставляет конструкторы для HTTP по умолчанию кодер и декодер, который может кодировать и декодировать JSON, XML и фигня. Вот как генератор примеров по умолчанию использует эти конструкторы в калькуляторе пример:

 вар (
dec = goahttp.RequestDecoder
enc = goahttp.ResponseEncoder
)
    //...
вар (
calcServer *calcsvr.Сервер
)
{
        // ...
calcServer = calcsvr.New(calcEndpoints, mux, dec, enc, eh)
}
 

Декодирование

Декодер запросов по умолчанию просматривает входящий запрос Content-Type и сопоставляет его с декодером. Значение application/json сопоставляется с декодером JSON, application/xml с XML-декодер и application/gob в декодер капель. Декодер JSON также используется, когда Заголовок Content-Type отсутствует или не соответствует одному из известных значений. Если расшифровка не удалась Гоа вызывает обработчик ошибок, зарегистрированный при создании HTTP-сервера (см. Обработка ошибок для получения дополнительной информации о том, как ошибки преобразуются в HTTP. ответы).

Написание пользовательского декодера

Как указано в обзоре, написание декодера состоит из написания реализации для интерфейса

Decoder и для функции конструктора декодера со следующей сигнатурой:

 func(r *http.Request) (goahttp.Decoder, ошибка)
 

, где goahttp — это псевдоним пакета с путем goa.design/goa/v3/http . Конструктор функция имеет доступ к объекту запроса и, таким образом, может проверить его состояние, чтобы сделать наилучший возможный вывод. декодер. Функция передается сгенерированному конструктору сервера, как показано в обзоре.

Кодирование

Кодировщик ответа по умолчанию реализует простой алгоритм согласования содержимого, используя значение из Принять заголовок входящего запроса или, при его отсутствии, заголовок Content-Type . Алгоритм очищает значение заголовка и сравнивает его с типами mime для JSON, XML. и gob, чтобы определить правильный кодировщик. Алгоритм по умолчанию использует JSON, если нет Принять или Заголовок Content-Type или если значения не соответствуют одному из известных типов контента.

Написание пользовательского кодировщика

Существует множество причин, по которым вашей службе может потребоваться использование разных кодировщиков. Например, вы можете захотеть для переключения с пакета stdlib JSON на пользовательский пакет, который может обеспечить производительность улучшение для вашего варианта использования. Вам также может потребоваться поддержка различных форматов сериализации, таких как пакет сообщений . Как указано в обзоре, кодировщик должен реализовать интерфейс Encoder и может предоставляться сгенерированному коду через функцию-конструктор со следующей сигнатурой:

 func(ctx context.Context, w http.ResponseWriter) (goahttp.Encoder, ошибка)
 

Контекст, заданный, когда Гоа вызывает функцию конструктора, содержит как запрос Content-Type и Принять значения заголовка под ContentTypeKey и AcceptTypeKey соответственно. Это позволяет конструктору кодировщика реализовать форму типа контента согласование, которое просматривает значения этих заголовков и возвращает кодировщик, который лучше всего подходит для клиент.

Установка типа содержимого по умолчанию

DSL дизайна ответа позволяет указать тип контента с помощью ContentType. Когда set значение переопределяет любой тип контента, указанный в заголовках запроса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *