2016-01-27 3 views
2

Я новичок в Graphql, и мне нужна помощь для отправки запроса graphql с фрагментами для моего приложения для Android. Ниже представлен формат запроса, принятый сетью.Как отправить запрос graphql с фрагментами в Android

query{ 
    user(ident:"JohnDoe"){ 
    myStory{ 
     description, 
    placements(first:3){ 
     edges{ 
     node{ 
      mediaItemType 
      mediaItem { 
      ...VideoFragment 
      ...PhotoFragment 
      } 
     } 
     } 
    } 
    } 
    } 
} 
fragment VideoFragment on Video { 
    videoHTML 
} 
fragment PhotoFragment on Photo { 
    url(size:10) 
} 

Любая помощь приветствуется !!

+0

Как вы преобразовываете результат запроса в Java-класс? – marktani

+0

Результат получается в формате JSON, и я использую библиотеку Retrofit для анализа результатов JSON. – Babs

+0

, так что вы не пользуетесь схемой с сервера GraphQL, верно, но вы используете классы модели Retrofit, я полагаю? – marktani

ответ

1

Я получил его, добавив его в strings.xml, как показано ниже. убедитесь, что нет лишних пробелов.

<string name="graphiql_detail_search"> query{ user(ident:"JohnDoe"){ myStory{ description, placements(first:3){ edges{ node{ mediaItemType mediaItem { ...VideoFragment ...PhotoFragment } } } } } } } fragment VideoFragment on Video { videoHTML } fragment PhotoFragment on Photo { url(size:10) } 
+1

Вы также изучили это? https://github.com/andimarek/graphql-java –

+0

@John Shelley, помогает ли граф-java создавать запрос, а затем мы должны отправить его через OkHttp? –

+0

@NguyenMinhBinh его больше для использования на стороне сервера, но этот проект в настоящее время продолжается. https://github.com/apollostack/apollo-android Узнайте об Apollo и о том, что они пытаются сделать, и взволнованы для сообщества Android или пришли помочь нам! –

1

Это зависит от серверной реализации GraphQL. GraphQL не определяет среду, которая оставляет этот вопрос несколько шире. Поскольку express-graphql так распространен, я сделаю предположение, что вы можете это использовать. Если это правда, вы можете запросить его по HTTP с более подробной информацией, изложенной на documentation for that project. Если это произойдет не так, вам нужно будет сделать еще больше копания.

+0

Я получил его, добавив его в strings.xml, как показано ниже. убедитесь, что нет лишних пробелов. – Babs

+0

<строка имя = "graphiql_detail_search"> запрос { пользователя (идент: "JohnDoe") { myStory { описание, размещения (первые: 3) { ребра { узел { mediaItemType mediaItem { ... VideoFragment ... PhotoFragment }} }} }} } фрагмент VideoFragment на видео { videoHTML } фрагмент PhotoFragment на фото { url (размер: 10) } – Babs