How to write GraphQL Query

Viewed 3200

I have a working web graphql query as :

{
  me{
    ... on Student{

      profile {
        fullName
        emailId
        mobileNumber
        civilId
        address
        city
        state
        country
        zipCode
        userProfilePic
        userCategory
        createdAt
        updatedAt
      }

    }

  }
}

It returns the profile details of a particular student. I log using mutation and gets the token for a user.

I want to create a graphql file (ex. StudentProfile.graphql) in order to make fetch request (similar to http. get) using Apollo client.

I make this request to fetch the graphql query.

func fetchStudentProfileDetails(){

        let tokenString = "Bearer " +  "....my token ..."

        print(tokenString)


        let newApollo: ApolloClient = {
            let configuration = URLSessionConfiguration.default
            // Add additional headers as needed
            configuration.httpAdditionalHeaders = ["Authorization": tokenString]

            let url = URL(string: "http://52.88.217.19/graphql")!

            return ApolloClient(networkTransport: HTTPNetworkTransport(url: url, configuration: configuration))
        }()



        newApollo.fetch(query: StudentProfileQuery()) { (result, error) in

            self.profileDetailsTextView.text =  "Success"


            if let error = error {
                NSLog("Error while fetching query: \(error.localizedDescription)");
                self.profileDetailsTextView.text =  error.localizedDescription
            }
            guard let result = result else {
                NSLog("No query result");
                self.profileDetailsTextView.text = "No query result"
                return
            }

            if let errors = result.errors {
                NSLog("Errors in query result: \(errors)")

                self.profileDetailsTextView.text =  String(describing: errors)

            }

            guard let data = result.data else {

                NSLog("No query result data");

                return
            }
        }

    }

How do I convert the following web query into a query in the .graphql file?

2 Answers
Related