1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lunny-tango

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Tango — это микро- и модульный веб-фреймворк для Go.

Начало работы

Чтобы установить Tango, выполните следующую команду:

go get gitea.com/lunny/tango

Пример использования Tango:

package main

import (
    "errors"

    "gitea.com/lunny/tango"
)

type Action struct {
    tango.JSON
}

func (Action) Get() interface{} {
    if true {
        return map[string]string{
            "say": "Hello tango!",
        }
    }
    return errors.New("something error")
}

func main() {
    t := tango.Classic()
    t.Get("/", new(Action))
    t.Run()
}

Затем перейдите по адресу http://localhost:8000 в браузере. Вы получите следующий ответ:

{"say":"Hello tango!"}

Если вы измените значение true после if на false, то получите следующее:

{"err":"something error"}

Этот код автоматически преобразует возвращаемую карту или ошибку в JSON, поскольку у нас есть встроенная структура tango.JSON.

Особенности

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

Промежуточное ПО

Промежуточное программное обеспечение позволяет легко добавлять функции в приложения Tango.

Уже существует множество промежуточных программ middlewares, которые упростят вашу работу:

  • recovery — восстановление после паники;
  • compress — сжатие Gzip и Deflate;
  • static — обслуживание статических файлов;
  • logger — регистрация запроса и внедрение Logger в структуру действия;
  • param — получение параметров маршрутизатора;
  • return — интеллектуальная обработка возвращаемого значения;
  • context — внедрение контекста в структуру действия;
  • session — менеджер сеансов, session-redis, session-nodb, session-ledis, session-ssdb;
  • xsrf — генерация и проверка токенов csrf;
  • binding — привязка и проверка форм;
  • renders — механизм шаблонов Go;
  • dispatch. Поддержка нескольких приложений на одном сервере:
  • tpongo2 — поддержка шаблона команды Pongo2.

  • captcha — реализация капчи.

  • events — события до и после.

  • flash — обмен данными между запросами.

  • debug — отображение подробной отладочной информации в журнале.

  • basicauth — базовое промежуточное ПО для аутентификации.

  • authz — управление разрешениями через ACL, RBAC, ABAC.

  • cache — промежуточное ПО кеширования (cache-memory, cache-file, cache-ledis, cache-nodb, cache-mysql, cache-postgres, cache-memcache, cache-redis).

  • rbac — контроль доступа на основе ролей.

Документация:

  • Руководство пользователя — вы можете внести свой вклад в книгу, отправив PR на gitea.com/tango/manual-en-US.

  • Операционное руководство — вы также можете посетить gitea.com/tango/manual-zh-CN, чтобы внести свой вклад в это руководство.

  • Справочник по API — pkg.go.dev/gitea.com/lunny/tango.

Обсуждение:

  • Google Group — английский язык.

  • Группа QQ — упрощённый китайский #369240307.

Примеры использования:

  • GopherTC — китайский дискуссионный форум.

  • Wego — дискуссионный форум.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Расширяемый веб-фреймворк Go для микроядер. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/lunny-tango.git
git@api.gitlife.ru:oschina-mirror/lunny-tango.git
oschina-mirror
lunny-tango
lunny-tango
master