Skip to content

Commit 7c06ce2

Browse files
authored
Merge branch 'gh-pages' into crud-json-api
2 parents c86786a + 2554623 commit 7c06ce2

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

implementations/index.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ assembled to vet them.
3535
* [redux-json-api](https://github.com/dixieio/redux-json-api) A library which integrated JSON APIs with Redux store
3636
* [devour-client](https://github.com/twg/devour) A lightweight, framework agnostic, highly flexible JSON API client
3737
* [json-api-normalizer](https://github.com/yury-dymov/json-api-normalizer) Normalizes JSON API documents for state management solutions like Redux and Mobx
38+
* [jsona](https://github.com/olosegres/jsona) Data formatter that creates customizable, simplified objects from JSON or stored reduxObject (result object of [json-api-normalizer](https://github.com/yury-dymov/json-api-normalizer)), and creates correct JSON from the same simplified objects.
39+
* [active-resource](https://github.com/nicklandgrebe/activeresource.js) A standalone, convention-driven JavaScript ORM that maps to your JSON API server and allows for advanced queries and relational management through a smooth interface.
3840

3941
### <a href="#client-libraries-typescript" id="client-libraries-typescript" class="headerlink"></a> Typescript
4042
* [ts-angular-jsonapi](https://github.com/reyesoft/ts-angular-jsonapi) A JSON API library developed for AngularJS in Typescript
@@ -98,11 +100,14 @@ and writing of JSON API documents.
98100

99101
## <a href="#server-libraries" id="server-libraries" class="headerlink"></a> Server libraries
100102

103+
### <a href="#server-libraries-swift" id="server-libraries-swift" class="headerlink"></a> Swift
104+
* [aonawale / JSONAPISerializer](https://github.com/aonawale/JSONAPISerializer) is a server side swift framework agnostic library that implements JSON API v1.0.
105+
101106
### <a href="#server-libraries-php" id="server-libraries-php" class="headerlink"></a> PHP
102107

103108
* [tobscure / json-api](https://github.com/tobscure/json-api)
104109
* [neomerx / json-api](https://github.com/neomerx/json-api) is a framework agnostic library that fully implements JSON API v1.0.
105-
* [neomerx / limoncello-collins](https://github.com/neomerx/limoncello-collins) (Laravel-based) and [neomerx / limoncello-shot](https://github.com/neomerx/limoncello-shot) (Lumen-based) are pre-configured JSON API v1.0 quick start server application that use [neomerx / json-api](https://github.com/neomerx/json-api).
110+
* [limoncello-php / app](https://github.com/limoncello-php/app) is a JSON API v1.0 quick start server application for [neomerx / json-api](https://github.com/neomerx/json-api).
106111
* [lode / jsonapi](https://github.com/lode/jsonapi) a simple and friendly library, easy to understand for people without knowledge of the specification.
107112
* [woohoolabs / yin](https://github.com/woohoolabs/yin) is a library for advanced users aiming for efficiency and elegance.
108113
* [nilportugues / json-api](https://github.com/nilportugues/json-api) Serializer transformers outputting valid API responses in JSON and JSON API formats.
@@ -113,6 +118,7 @@ and writing of JSON API documents.
113118
* [cloudcreativity/json-api](https://github.com/cloudcreativity/json-api) Framework agnostic JSON API serialisation and deserialisation. This project extends neomerx/json-api, adding in several additional framework-agnostic features.
114119
* [cloudcreativity/laravel-json-api](https://github.com/cloudcreativity/laravel-json-api) JSON API (jsonapi.org) package for Laravel applications. This project extends cloudcreativity/json-api, adding in framework-specific features.
115120
* [FriendsOfCake/crud-json-api](https://github.com/FriendsOfCake/crud-json-api) CakePHP Crud Listener for building maintainable JSON API compliant APIs.
121+
* [thephpleague/fractal](http://fractal.thephpleague.com/) A partial implementation of the JSON API spec allowing for an easy drop in JSON rendering solution.
116122

117123
### <a href="#server-libraries-node-js" id="server-libraries-node-js" class="headerlink"></a> Node.js
118124
* [Fortune.js](http://fortune.js.org/) is a library that includes a [comprehensive implementation of JSON API](https://github.com/fortunejs/fortune-json-api).
@@ -133,6 +139,7 @@ and writing of JSON API documents.
133139
* [simple-jsonapi](https://github.com/allistercsmith/simple-jsonapi) A node.js module for serializing objects to JSON API compliant documents. Very flexible whilst not caring about your choice of framework or database layer. Aims to cover the latest published version of the spec, which is currently 1.0.
134140
* [bookshelf-jsonapi-params](https://github.com/scoutforpets/bookshelf-jsonapi-params) automatically apply JSON API filtering, pagination, sparse fieldsets, includes, and sorting to your Bookshelf.js queries.
135141
* [Lux](https://github.com/postlight/lux) is a MVC style Node.js framework for building lightning fast JSON APIs.
142+
* [transformalizer](https://github.com/GaiamTV/transformalizer) a bare bones node module for transforming raw data into JSON API compliant payloads that makes no assumption regarding the shape of your data and sdks used, supports the full v1.0 specification, and supports dynamic transformations, links, and meta at all levels of a document.
136143

137144
### <a href="#server-libraries-ruby" id="server-libraries-ruby" class="headerlink"></a> Ruby
138145

@@ -153,6 +160,7 @@ has a page describing how to emit conformant JSON.
153160
* [JSONAPI::Utils](https://github.com/b2beauty/jsonapi-utils) works on top of [JSONAPI::Resources](https://github.com/cerebris/jsonapi-resources) taking advantage of its resource-driven style and bringing a Rails way to build modern APIs with no or less learning curve.
154161
* [Sinja](https://github.com/mwpastore/sinja) extends [Sinatra](http://www.sinatrarb.com) and leverages [JSONAPI::Serializers](https://github.com/fotinakis/jsonapi-serializers) to enable rapid development of comprehensive, read-and-write, and JSON API v1.0-compliant web services using the DAL/ORM of your choice. It includes a simple role-based authorization scheme, support for client-generated IDs, patchless clients, and coalesced find requests, exception handling, and more.
155162
* [jsonapi-rb](http://jsonapi-rb.org) Ruby library for efficiently building and consuming JSON API documents - with Rails and Hanami integrations.
163+
* [Caprese](https://github.com/nicklandgrebe/caprese) An opinionated Rails library for creating JSON API servers that lets you focus on customizing the behavior of your endpoints rather than the dirty work of setting them up. Leverages the power of [ActiveModel::Serializer](https://github.com/rails-api/active_model_serializers).
156164

157165
### <a href="#server-libraries-python" id="server-libraries-python" class="headerlink"></a> Python
158166

@@ -168,6 +176,7 @@ has a page describing how to emit conformant JSON.
168176
* [xamoom-janus](https://github.com/xamoom/xamoom-janus) is a Python module to easily and fast extend Python web frameworks like Flask or BottlyPy with json:api functionality. Also offers a flexible mechanism for data mapping and hooks to intercept and extend its functionality according to your projects needs.
169177
* [pyramid-jsonapi](https://github.com/colinhiggs/pyramid-jsonapi) Auto-build a JSON API from sqlalchemy models using the pyramid framework.
170178
* [Flask-REST-JSONAPI](https://github.com/miLibris/flask-rest-jsonapi) Flask extension to create web api according to jsonapi specification with Flask, Marshmallow and data provider of your choice (SQLAlchemy, MongoDB, ...)
179+
* [Flump](https://github.com/rolepoint/flump) Database agnostic JSON API builder which depends on Flask and Marshmallow.
171180

172181
### <a href="#server-libraries-go" id="server-libraries-go" class="headerlink"></a> Go
173182

@@ -232,6 +241,7 @@ includes related resources.
232241

233242
* [json-api-document-viewer](https://tadast.github.io/json-api-document-viewer) the flat json:api structure is a good way to express complex relationships between objects. However the same flatness makes it difficult for humans to "parse" these relationships. This tool visualises object relationships by visually nesting them.
234243
* [jsonapi-validator](https://jsonapi-validator.herokuapp.com) is a playground service for quick prototyping and validating JSON responses with jsonapi.org specification.
244+
* [corroborate](http://corroborate.arenpatel.com/) JSON API request/response payload validator. It warns when there is a specification violation and also informs when a recommendation has not been followed.
235245

236246
### <a href="#related-tools-ruby" id="related-tools-ruby" class="headerlink"></a> Ruby
237247

schema

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@
158158
"self": {
159159
"description": "A `self` member, whose value is a URL for the relationship itself (a \"relationship URL\"). This URL allows the client to directly manipulate the relationship. For example, it would allow a client to remove an `author` from an `article` without deleting the people resource itself.",
160160
"type": "string",
161-
"format": "uri"
161+
"format": "uri-reference"
162162
},
163163
"related": {
164164
"$ref": "#/definitions/link"
@@ -172,7 +172,7 @@
172172
{
173173
"description": "A string containing the link's URL.",
174174
"type": "string",
175-
"format": "uri"
175+
"format": "uri-reference"
176176
},
177177
{
178178
"type": "object",
@@ -183,7 +183,7 @@
183183
"href": {
184184
"description": "A string containing the link's URL.",
185185
"type": "string",
186-
"format": "uri"
186+
"format": "uri-reference"
187187
},
188188
"meta": {
189189
"$ref": "#/definitions/meta"
@@ -197,7 +197,7 @@
197197
"description": "Members of the attributes object (\"attributes\") represent information about the resource object in which it's defined.",
198198
"type": "object",
199199
"patternProperties": {
200-
"^(?!relationships$|links$)\\w[-\\w_]*$": {
200+
"^(?!relationships$|links$|id$|type$)\\w[-\\w_]*$": {
201201
"description": "Attributes may contain any valid JSON value."
202202
}
203203
},
@@ -208,7 +208,7 @@
208208
"description": "Members of the relationships object (\"relationships\") represent references from the resource object in which it's defined to other resource objects.",
209209
"type": "object",
210210
"patternProperties": {
211-
"^\\w[-\\w_]*$": {
211+
"^(?!id$|type$)\\w[-\\w_]*$": {
212212
"properties": {
213213
"links": {
214214
"$ref": "#/definitions/links"
@@ -287,28 +287,28 @@
287287
"first": {
288288
"description": "The first page of data",
289289
"oneOf": [
290-
{ "type": "string", "format": "uri" },
290+
{ "type": "string", "format": "uri-reference" },
291291
{ "type": "null" }
292292
]
293293
},
294294
"last": {
295295
"description": "The last page of data",
296296
"oneOf": [
297-
{ "type": "string", "format": "uri" },
297+
{ "type": "string", "format": "uri-reference" },
298298
{ "type": "null" }
299299
]
300300
},
301301
"prev": {
302302
"description": "The previous page of data",
303303
"oneOf": [
304-
{ "type": "string", "format": "uri" },
304+
{ "type": "string", "format": "uri-reference" },
305305
{ "type": "null" }
306306
]
307307
},
308308
"next": {
309309
"description": "The next page of data",
310310
"oneOf": [
311-
{ "type": "string", "format": "uri" },
311+
{ "type": "string", "format": "uri-reference" },
312312
{ "type": "null" }
313313
]
314314
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy