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

OSCHINA-MIRROR/go-baa-baa

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

Baa — это веб-фреймворк на Go с маршрутизацией, промежуточным ПО, внедрением зависимостей и контекстом HTTP.

Baa — это «без рефлексии», «без регулярных выражений».

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

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

Установите:

go get -u github.com/go-baa/baa

Пример:

// baa.go
package main

import (
    "github.com/go-baa/baa"
)

func main() {
    app := baa.New()
    app.Get("/", func(c *baa.Context) {
        c.String(200, "Hello, 世界")
    })
    app.Run(":1323")
}

Скомпилируйте:

Baa использует encoding/json в качестве пакета JSON по умолчанию, но вы можете изменить его на jsoniter, скомпилировав из других тегов.

go build -tags=jsoniter .

Запустите:

go run baa.go

Исследуйте:

http://127.0.0.1:1323/

Особенности

  • Поддержка статических маршрутов, маршрутов с параметрами и групп маршрутов.
  • Поддержка цепочек обработчиков маршрутов.
  • Статический файловый сервер.
  • Промежуточное ПО поддерживает цепочки обработчиков.
  • Внедрение зависимостей.
  • Контекст поддерживает ответы JSON/JSONP/XML/HTML.
  • Централизованная обработка ошибок HTTP.
  • Централизованное ведение журнала.
  • Любой шаблонизатор, реализующий интерфейс baa.Renderer.

Примеры

https://github.com/go-baa/example

Промежуточные программы

Компоненты

Производительность

Тест маршрутизации

На основе [go-http-routing-benchmark] (https://github.com/safeie/go-http-routing-benchmark), 27 февраля 2016 года.

GitHub API

Тест Baa очень близок к Echo.

BenchmarkBaa_GithubAll                 30000         50984 ns/op           0 B/op          0 allocs/op
BenchmarkBeego_GithubAll                3000        478556 ns/op        6496 B/op        203 allocs/op
BenchmarkEcho_GithubAll                30000         47121 ns/op           0 B/op          0 allocs/op
BenchmarkGin_GithubAll                30000         41004 ns/op           0 B/op          0 allocs/op
BenchmarkGocraftWeb_GithubAll           3000        450709 ns/op      131656 B/op       1686 allocs/op
BenchmarkGorillaMux_GithubAll            200       6591485 ns/op      154880 B/o        2469 allocs/op
BenchmarkMacaron_GithubAll              2000        679559 ns/op      201140 B/op       1803 allocs/op
BenchmarkMartini_GithubAll               300       5680389 ns/op      228216 B/op       2483 allocs/op
BenchmarkRevel_GithubAll                1000       1413894 ns/op      337424 B/op       5512 allocs/op

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

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

Введение

Простой и эффективный веб-фреймворк Go. Состоит преимущественно из маршрутизатора, промежуточного ПО, внедрения зависимостей и HTTP-контекста. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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