AutoGraphQL Save

Automatically provide CRUD functions for GraphQL without coding.

Project README

AutoGraphQL

Automatically provide CRUD functions for GraphQL and code free.
It supplies some automatic Schemas, Types and resolvers so that you don't need to write them.

image

0F85206E116CCEE74DB68E5B9A3AEDAE

Song Firework-Katy Parry(Modified)

Do you ever feel like a backend slave
Repeating CRUD, wanting to make a change?
Do you ever feel, APIs' so paper thin
Like a house of cards, one blow from cavin' in?
Do you ever feel they always complain?
Urging doc and feedback bugs, even ask your refactoring
Do you know that there's still a chance for you?
'Cause there's a powerful tool
You just gotta depend and configure
And let it init
Just start APIs
They are so easy to try
'Cause baby, you're a firework
Come on, show 'em what you're worth
Make 'em go, "Oh, oh, oh"
As you give 'em an A-T-M
Baby, you're a firework
Come on, let them serve themselves
Make 'em go, "Oh, oh, oh"
You're gonna leave 'em all in awe, awe, awe.


Tired of endless arguments about HTTP API dev or use?
Use AutoGraphQL-the framework for providing infinity codeless CRUD APIs that fit almost all your needs.
Unfold the Power(In Your Soul) with ⭐Star & Clone.

Examples

1.Fetch an User

Request:

{
  fetch(arg: {
    User: {
      id: 38710
    }
  })
}

Response:

{
    "data": {
        "User": {
            "id": 38710,
            "sex": 0,
            "name": "TommyLemon",
            "tag": "Android&Java",
            "head": "http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
            "date": 1485948110000,
            "pictureList": [
                "http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
                "http://common.cnblogs.com/images/icon_weibo_24.png"
            ]
        },
        "code": 200,
        "msg": "success"
    }
}

2.Fetch a List of Users

Request:

{
  fetch(arg: {
    "[]":{
      "count":3,
      "User":{
        "@column":"id,name"
      }
    }
  })
}

Response:

{
    "data": {
        "[]": [
            {
                "User": {
                    "id": 38710,
                    "name": "TommyLemon"
                }
            },
            {
                "User": {
                    "id": 70793,
                    "name": "Strong"
                }
            },
            {
                "User": {
                    "id": 82001,
                    "name": "Android"
                }
            }
        ],
        "code": 200,
        "msg": "success"
    }
}

3.Fetch a Moment with it's publisher

Request:

{
  fetch(arg: {
    "Moment":{
    },
    "User":{
      "id@":"Moment/userId"  //User.id = Moment.userId
    }
  })
}

Response:

{
    "data": {
        "Moment": {
            "id": 12,
            "userId": 70793,
            "date": "2017-02-08 16:06:11.0",
            "content": "1111534034"
        },
        "User": {
            "id": 70793,
            "sex": 0,
            "name": "Strong",
            "tag": "djdj",
            "head": "http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000",
            "contactIdList": [
                38710,
                82002
            ],
            "date": "2017-02-01 19:21:50.0"
        },
        "code": 200,
        "msg": "success"
    }
}

4.Add a Comment

Request:

mutation {
  add(arg: {
    "Moment":{
       "userId":38710,
       "content":"APIJSON,let interfaces and documents go to hell !"
    },
    "tag":"Moment"
  })
}

Response:

{
    "data": {
        "Moment": {
            "code": 200,
            "msg": "success",
            "id": 120
        },
        "code": 200,
        "msg": "success"
    }
}

5.Edit a Moment

Request:

mutation {
  edit(arg: {
     "Moment":{
       "id":235,
       "content":"APIJSON,let interfaces and documents go to hell !"
     },
     "tag":"Moment"
  })
}

Response:

{
    "data": {
        "Moment": {
            "code": 200,
            "msg": "success",
            "id": 235
        },
        "code": 200,
        "msg": "success"
    }
}

6.Delete a Moment

Request:

mutation {
  delete(arg: {
     "Moment":{
       "id":120
     },
     "tag":"Moment"
  })
}

Response:

{
    "data": {
        "Moment": {
            "code": 200,
            "msg": "success",
            "id": 120
        },
        "code": 200,
        "msg": "success"
    }
}

Documents

https://github.com/graphql-java/graphql-java#documentation
https://github.com/APIJSON/APIJSON/blob/master/Document-English.md#2

GraphAuto An advanced API management tool for GraphQL APIs with machine learning.
image

Star to support

https://github.com/AutoGraphQL/AutoGraphQL

Open Source Agenda is not affiliated with "AutoGraphQL" Project. README Source: AutoGraphQL/AutoGraphQL

Open Source Agenda Badge

Open Source Agenda Rating