GraphQL JSON:API Hypermedia Architecture Analysis - sgml/signature GitHub Wiki

IP Address White/Black

                          +---------------------+
                          |     Incoming API    |
                          |      Request        |
                          +----------+----------+
                                     |
                                     v
                          +----------+----------+
                          |  IP Access Control  |
                          | (Whitelist/Blacklist)|
                          +----------+----------+
                                     |
              +----------------------+----------------------+
              |                                             |
        +-----v-----+                                 +-----v-----+
        | Whitelist |                                 | Blacklist |
        +-----+-----+                                 +-----+-----+
              |                                             |
      +-------v-------+                           +---------v---------+
      | Email Approval |                           | ML-Based Detection|
      |   Workflow     |                           |  (Anomaly Model)  |
      +---------------+                           +-------------------+

                                     |
                                     v
                          +----------+----------+
                          |   Access Decision   |
                          | (Allow or Block API)|
                          +----------+----------+
                                     |
                                     v
                          +---------------------+
                          |   API Gateway /     |
                          |   Application Logic |
                          +---------------------+

GraphQL

Concepts

Project Structure

Gotchas

Best Practices

Implementations

Code

Declare args

$args

Declaare matching JSON

{"args": {
"name": "jim rome,
"createdBy": "radio",
"data": "{\"msg\": \"hi\", \"group_name\": \"bye\", \"group_description\": \"guy\", \"group_cadence\": \"why\"}"
}
}

GraphiQL

https://github.com/graphql/graphiql/issues/670

https://lucasconstantino.github.io/graphiql-online/

https://graphiql.github.io/

https://blog.logrocket.com/graphql-variables-in-simple-terms/

https://github.com/graphql/graphiql/issues/72

https://medium.com/atheros/graphql-quick-tip-how-to-pass-variables-into-a-mutation-in-graphiql-23ecff4add57

HTTP JSON API

Code

from requests_ratelimiter import LimiterSession
import time

# Create a session with a rate limit of 5 requests per second
session = LimiterSession(per_second=5)

def send_requests():
    for i in range(20):
        response = session.get('https://httpbin.org/get')
        print(f'Request {i+1}: {response.status_code}')
        time.sleep(1)  # Optional: Add additional sleep if needed

send_requests()

Postman

Hypermedia

JSON-Patch

AsyncAPI

⚠️ **GitHub.com Fallback** ⚠️