json-schema: https://github.com/rs/rest-layer
api api-documentation api-server framework go graphql json-schema rest-api schema-fields storage-backend
Score: 12.934620753140535
Last synced: about 14 hours ago
JSON representation
Repository metadata:
REST Layer, Go (golang) REST API framework
- Host: GitHub
- URL: https://github.com/rs/rest-layer
- Owner: rs
- License: mit
- Created: 2015-07-29T19:16:20.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-10-01T07:21:48.000Z (over 4 years ago)
- Last Synced: 2026-02-02T13:22:04.329Z (3 days ago)
- Topics: api, api-documentation, api-server, framework, go, graphql, json-schema, rest-api, schema-fields, storage-backend
- Language: Go
- Homepage: http://rest-layer.io
- Size: 1.11 MB
- Stars: 1,251
- Watchers: 31
- Forks: 112
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Owner metadata:
- Name: Olivier Poitrey
- Login: rs
- Email:
- Kind: user
- Description: Director of Engineering at Netflix Co-Founder & ex-CTO of Dailymotion Co-Founder of NextDNS
- Website:
- Location: Silicon Valley, California, USA
- Twitter:
- Company: Netflix
- Icon url: https://avatars.githubusercontent.com/u/68232?u=87a11a8b3ced882de7b8cd4dc304a7446b053564&v=4
- Repositories: 116
- Last Synced at: 2024-04-14T15:25:05.331Z
- Profile URL: https://github.com/rs
GitHub Events
Total
- Watch event: 7
- Total: 7
Last Year
- Watch event: 4
- Total: 4
Committers metadata
Last synced: 2 days ago
Total Commits: 289
Total Committers: 23
Avg Commits per committer: 12.565
Development Distribution Score (DDS): 0.498
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| Olivier Poitrey | r****s@d****m | 145 |
| Sindre Røkenes Myren | s****e@s****o | 41 |
| Olivier Poitrey | r****s@r****t | 33 |
| Dragomir Ivanov | d****v@g****m | 30 |
| Yan-Fa Li | y****i@g****m | 8 |
| Tor-Inge J. Eriksen | t****r@s****o | 5 |
| Yan-Fa Li | y****n@a****m | 4 |
| Michal Gebauer | m****k@m****t | 4 |
| Albert Puigsech | a****t@p****m | 3 |
| Hasan Pekdemir | h****t@g****m | 2 |
| Quentin Perez | q****2@g****m | 2 |
| April | b****2 | 1 |
| Joachim Schwarm | j****m@s****o | 1 |
| Matt Tucker | u****y@g****m | 1 |
| R Vadai | r****i@s****m | 1 |
| Sebastien Estienne | s****e@g****m | 1 |
| Tsvetelin Pantev | t****v@g****m | 1 |
| Uros Hercog | u****g@g****t | 1 |
| Uroš Hercog | u****g | 1 |
| Vitaly V | v****y@g****m | 1 |
| Quentin Perez | q****z@o****t | 1 |
| ia | i****s@g****m | 1 |
| muyadan | m****4@g****m | 1 |
Issue and Pull Request metadata
Last synced: about 1 month ago
Total issues: 64
Total pull requests: 37
Average time to close issues: 7 months
Average time to close pull requests: 3 months
Total issue authors: 24
Total pull request authors: 10
Average comments per issue: 5.58
Average comments per pull request: 4.57
Merged pull request: 30
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- smyrman (18)
- Dragomir-Ivanov (14)
- tgirod (5)
- apuigsech (5)
- markostojanovic087 (3)
- torie (1)
- AlexCppns (1)
- njacob1001 (1)
- ishan1608 (1)
- omani (1)
- cmorent (1)
- geovanisouza92 (1)
- UlyssesTech (1)
- mishak87 (1)
- opaniagu (1)
Top Pull Request Authors
- Dragomir-Ivanov (18)
- smyrman (8)
- mishak87 (3)
- apuigsech (2)
- torie (1)
- tsetsoo (1)
- robvadai (1)
- vvelikodny (1)
- pakali (1)
- markostojanovic087 (1)
Top Issue Labels
- enhancement (15)
- question (9)
- documentation (7)
- bug (6)
- proposal (5)
- SQL Storer (3)
- good first issue (2)
- help wanted (1)
Top Pull Request Labels
- enhancement (1)
- documentation (1)
Package metadata
- Total packages: 2
- Total downloads: unknown
- Total dependent packages: 7 (may contain duplicates)
- Total dependent repositories: 7 (may contain duplicates)
- Total versions: 2
proxy.golang.org: github.com/rs/rest-layer
Package restlayer is an API framework heavily inspired by the excellent Python Eve (http://python-eve.org/). It helps you create a comprehensive, customizable, and secure REST (graph) API on top of pluggable backend storages with no boiler plate code so can focus on your business logic. Implemented as a net/http middleware, it plays well with other middleware like CORS (http://github.com/rs/cors) and is net/context aware thanks to xhandler. REST Layer is an opinionated framework. Unlike many API frameworks, you don’t directly control the routing and you don’t have to write handlers. You just define resources and sub-resources with a schema, the framework automatically figures out what routes to generate behind the scene. You don’t have to take care of the HTTP headers and response, JSON encoding, etc. either. REST layer handles HTTP conditional requests, caching, integrity checking for you. A powerful and extensible validation engine make sure that data comes pre-validated to your custom storage handlers. Generic resource handlers for MongoDB (http://github.com/rs/rest-layer-mongo), ElasticSearch (http://github.com/rs/rest-layer-es) and other databases are also available so you have few to no code to write to make the whole system work. Moreover, REST Layer let you create a graph API by linking resources between them. Thanks to its advanced field selection syntax (and coming support of GraphQL), you can gather resources and their dependencies in a single request, saving you from costly network roundtrips. REST Layer is composed of several sub-packages: See https://github.com/rs/rest-layer/blob/master/README.md for full REST Layer documentation.
- Homepage: https://github.com/rs/rest-layer
- Documentation: https://pkg.go.dev/github.com/rs/rest-layer#section-documentation
- Licenses: MIT
- Latest release: v0.2.0 (published over 6 years ago)
- Last Synced: 2026-02-03T18:43:38.895Z (2 days ago)
- Versions: 2
- Dependent Packages: 7
- Dependent Repositories: 7
-
Rankings:
- Dependent repos count: 1.934%
- Stargazers count: 1.944%
- Dependent packages count: 2.051%
- Average: 2.117%
- Forks count: 2.537%
proxy.golang.org: github.com/rs/rest-layer/examples
- Homepage: https://github.com/rs/rest-layer
- Documentation: https://pkg.go.dev/github.com/rs/rest-layer/examples#section-documentation
- Licenses: MIT
- Latest release: (published 2 days ago)
- Last Synced: 2026-02-03T18:44:02.442Z (2 days ago)
- Versions: 0
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Stargazers count: 1.169%
- Forks count: 1.55%
- Average: 4.766%
- Dependent packages count: 6.999%
- Dependent repos count: 9.346%
Dependencies
- github.com/davecgh/go-spew v1.1.1
- github.com/evanphx/json-patch v4.1.0+incompatible
- github.com/graphql-go/graphql v0.7.6
- github.com/pmezard/go-difflib v1.0.0
- github.com/rs/cors v1.6.0
- github.com/rs/xid v1.2.1
- github.com/stretchr/testify v1.2.2
- golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85
- github.com/davecgh/go-spew v1.1.1
- github.com/evanphx/json-patch v4.1.0+incompatible
- github.com/graphql-go/graphql v0.7.6
- github.com/pmezard/go-difflib v1.0.0
- github.com/rs/cors v1.6.0
- github.com/rs/xid v1.2.1
- github.com/stretchr/testify v1.2.2
- golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85
- github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5
- github.com/dgrijalva/jwt-go v3.2.0+incompatible
- github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e
- github.com/jtolds/gls v4.2.1+incompatible
- github.com/justinas/alice v0.0.0-20171023064455-03f45bd4b7da
- github.com/rs/cors v1.6.0
- github.com/rs/rest-layer v0.1.0
- github.com/rs/rest-layer-hystrix v0.0.0-20170801073253-2b89f63b98ec
- github.com/rs/xaccess v0.0.0-20160803170743-f63036252bcc
- github.com/rs/xhandler v0.0.0-20170707052532-1eb70cf1520d
- github.com/rs/xlog v0.0.0-20171227185259-131980fab91b
- github.com/rs/xstats v0.0.0-20170813190920-c67367528e16
- github.com/rs/zerolog v1.11.0
- github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d
- github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c
- github.com/zenazn/goji v0.9.0
- golang.org/x/net v0.0.0-20181129055619-fae4c4e3ad76
- github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5
- github.com/davecgh/go-spew v1.1.1
- github.com/dgrijalva/jwt-go v3.2.0+incompatible
- github.com/evanphx/json-patch v4.1.0+incompatible
- github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e
- github.com/graphql-go/graphql v0.7.6
- github.com/jtolds/gls v4.2.1+incompatible
- github.com/justinas/alice v0.0.0-20171023064455-03f45bd4b7da
- github.com/pmezard/go-difflib v1.0.0
- github.com/rs/cors v1.6.0
- github.com/rs/rest-layer-hystrix v0.0.0-20170801073253-2b89f63b98ec
- github.com/rs/xaccess v0.0.0-20160803170743-f63036252bcc
- github.com/rs/xhandler v0.0.0-20170707052532-1eb70cf1520d
- github.com/rs/xid v1.2.1
- github.com/rs/xlog v0.0.0-20171227185259-131980fab91b
- github.com/rs/xstats v0.0.0-20170813190920-c67367528e16
- github.com/rs/zerolog v1.11.0
- github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d
- github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c
- github.com/stretchr/testify v1.2.2
- github.com/zenazn/goji v0.9.0
- golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85
- golang.org/x/net v0.0.0-20181129055619-fae4c4e3ad76