Size: a a a

GraphQL — русскоговорящее сообщество

2019 May 31

А

Андрей in GraphQL — русскоговорящее сообщество
у тебя есть мутация и там 10 полей. но тебе на клиенте нужно изменить 1 только поле. вот ты можешь написать мутацию на клиенте для 1 поля и не писать все остаьлное)
если верно я понял)
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Андрей
у тебя есть мутация и там 10 полей. но тебе на клиенте нужно изменить 1 только поле. вот ты можешь написать мутацию на клиенте для 1 поля и не писать все остаьлное)
если верно я понял)
Стой, правильно ли я понял, что можно вообще мутации не писать на сервере?
источник

А

Андрей in GraphQL — русскоговорящее сообщество
ꟿⅨ
Стой, правильно ли я понял, что можно вообще мутации не писать на сервере?
что ты имеешь ввиду? резольвер? или схему где мутация?
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Андрей
что ты имеешь ввиду? резольвер? или схему где мутация?
Хорошо, допустим возьмом простой ToDo:

на сервере прописываю:

const typeDefs = gql`
type Todo {
 id: ID!
 text: String
}

type Query {
 getTodos: [Todo!]!
 getTodo(id: ID!): Todo
}
`

Прописываю resolvers:

const resolvers = {
 Query: {
   todos: () => db.todos.map((todo) => new Todo(todo)),
   todo: (args) => db.todos.find((todo) => todo.id === args.id)
   },
 }
}


Пишу в клиенте:
const GET_TODO = gql`
{
 todos{
   text
 }
}
`

const ADD_TODO = gql`
mutation{

}
`


И вот тут я потерялся
источник

U

Uxname in GraphQL — русскоговорящее сообщество
ꟿⅨ
Хорошо, допустим возьмом простой ToDo:

на сервере прописываю:

const typeDefs = gql`
type Todo {
 id: ID!
 text: String
}

type Query {
 getTodos: [Todo!]!
 getTodo(id: ID!): Todo
}
`

Прописываю resolvers:

const resolvers = {
 Query: {
   todos: () => db.todos.map((todo) => new Todo(todo)),
   todo: (args) => db.todos.find((todo) => todo.id === args.id)
   },
 }
}


Пишу в клиенте:
const GET_TODO = gql`
{
 todos{
   text
 }
}
`

const ADD_TODO = gql`
mutation{

}
`


И вот тут я потерялся
у  тебя не описаны мутации на сервере, только квери
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Хорошо, продолжаем курить GraphQL!
источник

U

Uxname in GraphQL — русскоговорящее сообщество
мутации это те же квери, только они выполняются последовательно а не параллельно
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Но вопрос, почему я не могу сделать допустим вот так:
const ADD_TODO = gql`
mutation (text) {
 addTodo(text)
}

`
источник

U

Uxname in GraphQL — русскоговорящее сообщество
ꟿⅨ
Но вопрос, почему я не могу сделать допустим вот так:
const ADD_TODO = gql`
mutation (text) {
 addTodo(text)
}

`
потому что на сервере нет мутации addTodo
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Uxname
потому что на сервере нет мутации addTodo
А если есть?
источник

U

Uxname in GraphQL — русскоговорящее сообщество
тогда можно её вызвать
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Ааааа
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
И каких минусов нету посравнению:
mutation AddTodo(text) {
источник

U

Uxname in GraphQL — русскоговорящее сообщество
сформулируй плз вопрос целиком, я уверен в нём будет половина ответа :)
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Uxname
сформулируй плз вопрос целиком, я уверен в нём будет половина ответа :)
То есть в принципе никакого бенефита от названия мутации аля вместо:

const ADD_TODO = gql`
mutation AddTodo(text) {
 addTodo(text)
}
`

const ADD_TODO = gql`
mutation (text) {
 addTodo(text)
}
`

в принципе нету?
источник

U

Uxname in GraphQL — русскоговорящее сообщество
ꟿⅨ
То есть в принципе никакого бенефита от названия мутации аля вместо:

const ADD_TODO = gql`
mutation AddTodo(text) {
 addTodo(text)
}
`

const ADD_TODO = gql`
mutation (text) {
 addTodo(text)
}
`

в принципе нету?
разница в том что первый вариант скомпилится, второй нет
источник

U

Uxname in GraphQL — русскоговорящее сообщество
а не, оба не скомпилятся
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
Uxname
а не, оба не скомпилятся
почему?
источник

ꟿⅨ in GraphQL — русскоговорящее сообщество
String
источник

U

Uxname in GraphQL — русскоговорящее сообщество
mutation AddTodo($text: String) {
 addTodo($text)
}
источник