Giter VIP home page Giter VIP logo

graphql-with-springboot-jpa-example's Introduction

graphql-with-springboot-jpa-example

An example of GraphQL endpoint that leverages Springboot and JPA

Build the Sample Application

Run ./gradlew build

Run the Sample Application

Run ./gradlew bootRun

Access via Postman

After starting the application, use postman to POST a request to the following url http://localhost:8080/graphql in a browser.

Request body of POST for Single Customer

{
	customer (id: "1") {
		id
		firstName
		lastName
		accounts {
			id
			name
			balance

		}
	}
}

Response Body of POST for Single Customer

{
    "customer": {
        "id": "1",
        "firstName": "Bob",
        "lastName": "Johnson",
        "accounts": [
            {
                "id": "1",
                "name": "Bob's Checking Account",
                "balance": 2100.5
            },
            {
                "id": "2",
                "name": "Bob's Savings Account",
                "balance": 325.5
            }
        ]
    }
}

Request body of Update/Create for a list of new and existing customers

After starting application, use postman to request to the following URL http://localhost:8080/mutate in a browser

mutation M{
   first : saveCoach(firstName : "Bob", lastName : "Customer"){
       id
       firstName
       lastName
   },
   second : saveCoach(id : "22", firstName : "Sally", lastName : "Brown", accounts : [{accountId: "33", customerId: "22", accountName:"Sally Checking"},{accountId: "34", customerId: "22", accountName:"Sally Saving"}]){
       id
       firstName
       lastName
       accounts {
           id
           name
       }
   }
}

Response Body of POST Update/Create for a list of new and existing customers

{
    "customer": {
        "id": "1",
        "firstName": "Bob",
        "lastName": "Johnson",
        "accounts": [
            {
                "id": "1",
                "name": "Bob's Checking Account"
            },
            {
                "id": "2",
                "name": "Bob's Savings Account"
            }
        ]
    }
}

Request body of POST for All Customers

{
	allCustomers {
		id
		firstName
		lastName
		accounts {
			id
			name
			balance

		}
	}
}

Response Body of POST for All Customers

{
  "allCustomers": [
      {
          "id": "1",
          "firstName": "Bob",
          "lastName": "Johnson",
          "accounts": [
              {
                  "id": "1",
                  "name": "Bob's Checking Account",
                  "balance": 2100.5
              },
              {
                  "id": "2",
                  "name": "Bob's Savings Account",
                  "balance": 325.5
              }
          ]
      },
      {
          "id": "2",
          "firstName": "Sally",
          "lastName": "Brown",
          "accounts": [
              {
                  "id": "3",
                  "name": "Sally's Checking Account",
                  "balance": 500.5
              },
              {
                  "id": "4",
                  "name": "Sally's Savings Account",
                  "balance": 5555.5
              }
          ]
      }
  ]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.