Ежедневная библиотека: междоменная реализация в Gin
Ежедневная библиотека: междоменная реализация в Gin

При создании веб-приложений вам может потребоваться обмен данными между разными доменами, что предполагает совместное использование междоменных ресурсов (CORS). Реализация междоменной реализации в рамках Gin является общим требованием.

Совместное использование ресурсов между источниками (CORS) — это механизм безопасности браузера, используемый для управления общим доступом к ресурсам между различными доменами. В Gin вы можете использовать промежуточное программное обеспечение для настройки политик CORS, позволяющих разрешать или запрещать определенные междоменные запросы.

Вот шаги для реализации междоменного доступа в Gin:

1. Импортируйте пакеты Gin и CORS.

Сначала убедитесь, что у вас установлены модули Gin и Cors Go. Их можно установить с помощью следующей команды:

Язык кода:javascript
копировать
$ go get -u github.com/gin-gonic/gin
$ go get -u github.com/gin-contrib/cors

2. Создайте приложение Gin.

В код Go импортируйте модули Gin и Cors и создайте приложение Gin:

Язык кода:javascript
копировать
package main

import (
    "github.com/gin-gonic/gin"
    "github.com/gin-contrib/cors"
)

func main() {
    r := gin.Default()

    // Использование CORS промежуточное программное обеспечение
    r.Use(cors.Default())

    // Определить маршруты и обработчики
    r.GET("/hello", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "Hello, CORS!",
        })
    })

    r.Run(":8080")
}

3. Настройте промежуточное программное обеспечение CORS

В приведенном выше коде,Используяcors.Default()промежуточное программное обеспечение для включения поддержки CORS. Это позволит GET из любого источника,Запросы POST и OPTIONS,и разрешить определенные заголовки и методы.

Вы также можете настроить промежуточное программное обеспечение CORS по мере необходимости. Например, следующий код ограничит междоменные запросы только от указанного доменного имени:

Язык кода:javascript
копировать
config := cors.DefaultConfig()
config.AllowOrigins = []string{"https://example.com"}
r.Use(cors.New(config))

4. Запустите приложение

Запустить приложениеи доступhttp://localhost:8080/hello,Вы сможете получать данные ответов с разных доменов из Браузера.

Это основной шаг для достижения междоменного взаимодействия в Gin. Настраивая промежуточное программное обеспечение CORS, вы можете гибко управлять разрешениями доступа для междоменных запросов. В зависимости от ваших потребностей вы можете настроить политику CORS в соответствии с требованиями вашего приложения.

CORS — это функция безопасности браузера, которая влияет только на запросы в браузере. Если это межсерверный запрос, CORS не применяется, поэтому в этом случае вам, вероятно, не потребуется настраивать политику CORS.

Отказ от ответственности: эта работа распространяется под лицензией Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)[1]. Пожалуйста, укажите источник при ее использовании. автор: Мэнбин[2] блог: мэнбин[3] github: mengbin92[4] cnblogs: Непреднамеренно полюбила воду[5]

References

[1] С указанием авторства-Некоммерческая-ShareAlike 4.0 интернациональность (CC BY-NC-SA 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh [2] mengbin: mengbin1992@outlook.com [3] mengbin: https://mengbin.top [4] mengbin92: https://mengbin92.github.io/ [5] Влюбляюсь в воду нечаянно: https://www.cnblogs.com/lianshuiwuyi/

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода