From 8b107a52f02355e22d5eeb4a25e828d7feafa2a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20H=C3=A4drich?= <11225821+shaedrich@users.noreply.github.com> Date: Tue, 17 Oct 2023 09:30:23 +0200 Subject: [PATCH 1/3] Add topic "JSON:API" --- topics/json-api/index.md | 18 ++++++++++++++++++ topics/json-api/json-api.png | Bin 0 -> 21261 bytes 2 files changed, 18 insertions(+) create mode 100644 topics/json-api/index.md create mode 100644 topics/json-api/json-api.png diff --git a/topics/json-api/index.md b/topics/json-api/index.md new file mode 100644 index 00000000000..dc6d9b538c2 --- /dev/null +++ b/topics/json-api/index.md @@ -0,0 +1,18 @@ +--- +display_name: "JSON:API" +created_by: Yehuda Katz, Dan Gebhardt, Gabe Sullice, Jeldrik Hanschke, Tyler Kellen, Steve Klabnik, Ethan Resnick +logo: json-api.png +released: May 3, 2013 +short_description: "JSON:API is a specification for building APIs in JSON." +topic: json-api +url: https://jsonapi.org +related: json, emberjs, rest-api, json-ld, hal, hateoas, siren, hydra, collection-json +--- +**JSON:API** is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. JSON:API is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This first draft was extracted from the JSON transport implicitly defined by Ember Data’s REST adapter. In general, Ember Data’s goal is to eliminate the need for ad-hoc code per application to communicate with servers that communicate in a well-defined way. The REST Adapter in Ember Data implicitly defined a protocol that custom servers could implement to get a drop-in client for all of their resources. The goals of the media type are to balance: + +* A generic media type that can work across a broad set of use cases, including the generally used relationship types +* Similarity to existing server-side framework practices (and human readability for debugging) +* Ease of implementation on the server side +* Ease of implementation on the client side + +This specification reached a stable version 1.0 on May 29, 2015. diff --git a/topics/json-api/json-api.png b/topics/json-api/json-api.png new file mode 100644 index 0000000000000000000000000000000000000000..11e156a796bf9aae9f81823c25e89ecb2cad52f8 GIT binary patch literal 21261 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%0Ak?{xPMSR+1?l?jewZP% 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 P Date: Thu, 19 Oct 2023 08:18:30 +0200 Subject: [PATCH 2/3] Do not exceed the 100 character limit --- topics/json-api/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/topics/json-api/index.md b/topics/json-api/index.md index dc6d9b538c2..eded1d69fe0 100644 --- a/topics/json-api/index.md +++ b/topics/json-api/index.md @@ -1,6 +1,6 @@ --- display_name: "JSON:API" -created_by: Yehuda Katz, Dan Gebhardt, Gabe Sullice, Jeldrik Hanschke, Tyler Kellen, Steve Klabnik, Ethan Resnick +created_by: Yehuda Katz, Dan Gebhardt, Gabe Sullice, Jeldrik Hanschke, Tyler Kellen, Steve Klabnik,Ethan Resnick logo: json-api.png released: May 3, 2013 short_description: "JSON:API is a specification for building APIs in JSON." From a6d06269efb538086b74c8d249af981937b46073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20H=C3=A4drich?= <11225821+shaedrich@users.noreply.github.com> Date: Thu, 19 Oct 2023 08:43:31 +0200 Subject: [PATCH 3/3] Make logo 288px and squared --- topics/json-api/json-api.png | Bin 21261 -> 10231 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/topics/json-api/json-api.png b/topics/json-api/json-api.png index 11e156a796bf9aae9f81823c25e89ecb2cad52f8..65774a336f7e3b3a0be57e9e0b18d06f9f0d57ce 100644 GIT binary patch literal 10231 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 aV&hRQRFER`y*KOOyi^CNRjYjX@;?AR_3otr literal 21261 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%0Ak?{xPMSR+1?l?jewZP% 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 P