Apollo-link-rest: рдХреНрдпрд╛ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдмрдорд┐рдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рдирд╡ре░ 2019  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: apollographql/apollo-link-rest

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреНрд╡реЗрд░реА:

  mutation register {
    register(
      input: {
        email: $email
        avatar: $avatar
        password: $password
      }
    ) @rest(type: "Register", path: "auth/register", method: "POST")
  }

рдкреНрд░рдкрддреНрд░ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЗрдирдкреБрдЯ рд╣реИ рдЬреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рднреЗрдЬрддрд╛ рд╣реИ (рдпрд╣ рдЕрд╡рддрд╛рд░ рдЧреБрдг рд╣реИ)ред рдЕрд╡рддрд╛рд░ рдЪрд░ рдХреЛ рд▓реЙрдЧ рдХрд░рддреЗ рд╕рдордп рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рднреЗрдЬрддреЗ рд╕рдордп рдлрд╝рд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдЦрд╛рд▓реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░ рдХреЛ рд▓реЙрдЧ рдХрд░рдирд╛:
image

рдЕрдкреЛрд▓реЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрддреЗ рд╕рдордп рд╡рд╕реНрддреБ рдЦрд╛рд▓реА рд╣реЛрддреА рд╣реИ:

image

рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рд╕рдВрднрд╡ рд╣реИред

help wanted ЁЯЫа questionтЭФ

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдлрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдмрдЧреНрд╕ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдерд╛ред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдкрд░ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рд╕реНрд░реЛрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ! рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЕрдкреЛрд▓реЛ-рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдЕрд╕рд▓реА рдлрд┐рдХреНрд╕ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдирд╣реАрдВ рд╣реИ!

рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬреИрд╕реЗ рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рдЬрд┐рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рд▓рд┐рдВрдХ рдЬрд┐рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдереЛрдбрд╝рд╛_рд╕реНрдорд╛рдЗрд▓рд┐рдВрдЧ_рдлреЗрд╕:

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрдкреЛрд▓реЛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЕрдкреЛрд▓реЛ-рдЕрдкрд▓реЛрдб-рдХреНрд▓рд╛рдЗрдВрдЯ (https://github.com/jaydenseric/apollo-upload-client) рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рд╕рдорд╛рди рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ?

рдирд╣реАрдВ, рдпрд╣ рдпрд╣рд╛рдБ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ред

рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬреБрд▓рд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рдиреЗ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред

рд╢рд╛рдпрдж рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

https://github.com/apolographql/apolo-link-rest/issues/200#issuecomment -509287597

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рд╣рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдбреЙрдХреНрдЯрд░ рдЕрдиреБрднрд╛рдЧ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП!

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @fbartho!

рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА, рдореБрдЭреЗ рдЬреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдкрдбрд╝реЗ, рд╡реЗ рдереЗ рдлрд╝рд╛рдЗрд▓ рдПрдирдХреЛрдб рд╡рд┐рдзрд┐ рдХреЛ bodySerializers рдореЗрдВ рдЬреЛрдбрд╝рдирд╛

bodySerializers: {
    fileEncode: (data: any, headers: Headers) => {
      const formData = new FormData()
      formData.append('file', data, data.name)
      headers.set('Accept', '*/*')
      return { body: formData, headers }
    }
  }

рдФрд░ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рднреА рдЬрд╣рд╛рдВ рдЖрдк рдХреНрд╡реЗрд░реА рдкрд░ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ

@rest(
        type: "File"
        path: "YOUR_API_URL"
        method: "POST"
        bodySerializer: "fileEncode"
      ) {

рдЕрдЧрд░ рдбреЙрдХреНрд╕ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рд╣реЛрддрд╛ рддреЛ рдпрд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрддрд╛ред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

lextas picture lextas  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

joemphilips picture joemphilips  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sinisterra picture sinisterra  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

D1no picture D1no  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

timhwang21 picture timhwang21  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ